2. Armazenam e organizam os dados para que sejam acessados e
manipulados de maneira mais fácil e prática.
Alguns exemplos de estruturas são:
● List;
● Map;
● Set;
● Stack;
● Queue.
3. List
A interface List facilita o agrupamento de N elementos do mesmo tipo, permitindo
ordenação e duplicação. É implementada pelas classes ArrayList e LinkedList.
6. Map
A interface Map trabalha com o mapeamento de chaves e seus valores, que
podem ser de qualquer tipo de dado. É implementada pelas classes HashMap,
LinkedHashMap e TreeMap.
10. Set
A interface Set é semelhante à List, com a diferença de que não permite
ordenação e nem elementos repetidos. É implementada pelas classes
HashSet, LinkedHashSet e TreeSet.
14. Stack
A classe Stack, trabalha
com o L.I.F.O. (Last In
First Out), em que que os
elementos são agrupados
em uma pilha, e o último
elemento da posição
sempre será o primeiro a
ser removido.
16. Queue
A interface Queue, ao
contrário da Stack,
trabalha com o
F.I.F.O.(First In First Out),
que forma uma fila, onde
o primeiro elemento
adicionado sempre será o
primeiro a sair.
18. PriorityQueue
A classe PriorityQueue, que implementa a interface Queue, possui o mesmo
funcionamento, com a diferença de que é ordena uma fila da ordem do menor
valor ao maior valor.
20. Capacidade default
A maioria das estruturas de dados, ao serem instanciadas, possuem uma
capacidade padrão de índices e com elementos sendo adicionados às estruturas,
essa capacidade aumenta.
ArrayList: começa em 0, ao adicionar um elemento, aumenta para 10. Ao atingir
10, sua capacidade dobra;
HashMap e LinkedHashMap: começa em 0, ao adicionar um elemento, aumenta
para 16. Ao atingir 16, sua capacidade dobra;
HashSet e LinkedHashSet: começa em 0, ao adicionar um elemento, aumenta
para 16. Ao atingir 16, sua capacidade dobra;
Referência: https://www.geeksforgeeks.org/arraylist-in-java/
22. Performance
As diferentes estruturas de dados possuem diferentes performances ao executar
suas tarefas, como este método, por exemplo:
for(int i = 0; i < 1000000; i++) {
estrutura.add(“012.345.678-90”)
}
24. Performance
As diferentes estruturas de dados possuem diferentes performances ao executar
suas tarefas, como este método, por exemplo:
for(int i = 500000; i > 0; i--) {
estrutura.add(500000)
}