Vamos iniciar com apenas uma prévia do que são as coleções.
Podemos definir que coleção é uma estrutura de dados na qual os objetos são armazenados. Esta coleção pode crescer ou diminuir dinamicamente.
Em java 5, a estrutura de conjuntos nos fornece listas, conjuntos, mapas e filas.Vamos detalhar um pouco mais a seguir, primeiro vamos ver como fica a estrutura das coleções e dos maps.
Vendo rapidamente estes diagramas, é possivel já fazer a nossa primeira análise:
É muito fácil confudir o Collection com Collections. Mas qual a diferença?
Collections é uma classe, possui métodos utilitários estáticos, enquanto Collection é uma Interface com as declarações dos métodos comuns à maioria dos conjuntos.
De uma forma objetiva, como ficaria este primeiro diagrama?
Collection é uma Interface, onde possui métodos como add, remove, addAll, removeAll entre outros, no nosso contexto, ela seria a Interface 'Pai'.
Tendo como filhos, temos as Interfaces Set, List e Qeue. Todas estas estendem a Interface pai.
Detalhando um pouco de cada 'Filho' do Collection.
Interface Set: Dá importância a exclusividade, não permitindo registros duplicados
Tem como seus 'descendentes':
HashSet => Conjunto Set, não classificado e não ordenado.
LinkedHashSet => Quando a ordem da iteração for importante, essa classe é a ideal para usar, é uma versão ordenada do HashSet
TreeSet => É um dos 2 conjuntos ordenados (outro TreeMap). Mantem os registros na sua ordem natural, mas você pode personalizar isso usando o Comparable ou Comparator.
Interface List: Ao contrário do Set, o List permite duplicatas.
ArrayList => um array, como o próprio nome diz. conjunto ordenado por indice. não classificado. Proporciona uma iteração rápida. Prefira esta lista a LinkedList, quando isso for requisito.
Vector => semelhante ao ArrayList, mas seus métodos são sincronizados para garantirem a segurança com Threads.
LinkedList => Ordenado pela posição no índice.
Interface Qeue: FIFO, primeiro a entrar, primeiro a sair
PriorityQueue => a idéia dessa classe, é criar uma prioridade na manipulação dos elementos.
--------------------------
Interface MAP: o MAP trabalha com chave e valor. Cada chave é mapeada com um valor específico. É importante ressaltar, que tanto a chave quanto o valor, são objetos.
HashMap => Não classificado e não ordenado. a ordema na iteração não é a preocupação dessa classe.
HashTable => Permite tanto chaves e valores nulos.
TreeMap => Conjunto Map classificado. Permite a personalização na ordem de iteração por meio do Comparable ou Comparator.
E aqui finalizamos as Coleções.
Bom, espero poder ter ajudado com algumas informações.
Muito boa as informacoes... foram bastantes uteis....
ResponderExcluirvalew
Precisamos de ensino assim.
ResponderExcluirAprendi coleções em java dessa forma, estou sofrendo para aprender coleções do C#. Estou montando diagramas através da documentação bagunçada do C#.