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.