Introdução
Java Collections - Introdução
Na linguagem Java toda coleção é identificada como uma java.util.Collection
disponibilizando assim uma interface (contrato) onde cada sub-classificação de Collection
proporciona comportamentos específicos diante dos recursos citados abaixo:
Ação | Método | Descrição |
---|---|---|
Adicionar | add | Possibilita a inclusão de novos elementos na coleção |
Adicionar toros | addAll | Adiciona todos os elementos de uma coleção, outra coleção |
Remover | remove | Remove um elemento da coleção da acordo com seu índice ou algorítimo de seleção |
Remover todos | removeAll | Remove todos os elementos da coleção (selecionados previamente) |
Medir | size | Retorna a quantidade de elementos de uma coleção |
Limpar | clear | Limpa a coleção removendo todos os seus elementos |
Verificar | contains | Verifica a existência de um elemento atribuindo algum critério |
Varificar vazio | isEmpty | Verifica se a coleção está vazia (sem elementos) |
Percorrer | iterador | Percorre ou navega sobre todos os elementos da coleção |
Obter | ??? | Calma, iremos explorar cada umas das alternativas disponíveis |
Collections Framework
Coleções em Java é um conjunto de classes e interfaces que implementam estruturas de dados de coleção comumente reutilizáveis.
Desde a versão JDK1.2 com expansão significativa na versão 5 da linguagem Java, uma coleção é um grupo de elementos organizados em estruturas de listas, conjuntos, filas e mapas que satisfarão a maioria das suas necessidades em codificação na linguagem.
Ao longo das versões da linguagem esta funcionalidade de trabalhar com um conjunto de dados vem recebendo ajustes e aprimoramentos significativos, proporcionando inúmeras alternativas para oferecer requisitos para iteração e desempenho nas suas aplicações.
Conhecer a aplicabilidade de cada classificação disponível na Collections Framework é extremamente relevante para um profissional de destaque no mercado de trabalho.
Conforme a imagem acima devemos compreender que, existem quatro categorias de coleções: List, Set, Queue e Map e precisamos compreender e conseguir aplicar cada alternativa conforme os requisitos ou proposta da nossa aplicação.
Mesmo fazendo parte da Collections Framework, um
Map
não faz parte da hierarquia de uma Collection
, logo um map
não passaria no teste IS-ACollection
.Compreender a diferenciação entre o conceito de classes e interfaces na linguagem Java é uma jornada que exige um pouco mais de contextualização, com base nesta afirmação iremos destacar o grupo de classes que precisamos adquirir um domínio relevante sobre a Collections Framework.
listas | conjuntos | filas | mapas | algoritmos |
---|---|---|---|---|
ArrayList | HashSet | PriorityQueue | HashMap | Collection |
Vector | LinkedHashSet | HashTable | Arrays | |
LinkedList | TreeSet | TreeMap | ||
LinkedHashMap |
É muito comum confundir "Collections" com "Collection" - tome cuidado. Lembre-se que:
Collections
é uma classe com métodos utilitários estáticos, enquanto Collection
é uma interface com a definição de métodos comuns à maioria dos conjuntos conforme hierarquia.Para conhecer todos os recursos disponíveis veja a documentação pelo link.