Collections Framework Java E Orienta O A Objetos
1 de 46
http://www.caelum.com.br/apostila-java-orientacao-objetos/collections...
"A amizade é um contrato segundo o qual nos comprometemos a prestar pequenos favores para que no-los retribuam com grandes."
— Baron de la Brede et de Montesquieu
Ao término desse capítulo, você será capaz de: utilizar arrays, lists, sets ou maps dependendo da necessidade do programa; iterar e ordenar listas e coleções; usar mapas para inserção e busca de objetos.
Como vimos no capítulo de arrays, manipulá-las é bastante trabalhoso.
Essa dificuldade aparece em diversos momentos: não podemos redimensionar um array em Java; é impossível buscar diretamente por um determinado elemento cujo
26/06/2015 14:47
Collections framework - Java e Orientação a Objetos
2 de 46
http://www.caelum.com.br/apostila-java-orientacao-objetos/collections...
não conseguimos saber quantas posições do array já foram populadas sem criar, para isso, métodos auxiliares.
Na figura acima, você pode ver um array que antes estava sendo completamente utilizado e que, depois, teve um de seus elementos removidos. Supondo que os dados armazenados representem contas, o que acontece quando precisarmos inserir uma nova conta no banco? Precisaremos procurar por um espaço vazio? Guardaremos em alguma estrutura de dados externa, as posições vazias? E se não houver espaço vazio? Teríamos de criar um array maior e copiar os dados do antigo para ele?
Há mais questões: como posso saber quantas posições estão sendo usadas no array? Vou precisar sempre percorrer o array inteiro para conseguir essa informação?
Além dessas dificuldades que os arrays apresentavam, faltava um conjunto robusto de classes para suprir a necessidade de estruturas de dados básicas, como listas ligadas e tabelas de espalhamento.
Com esses e outros objetivos em mente, o comitê responsável pelo Java criou um conjunto de classes e interfaces conhecido como Collections
Framework, que reside no pacote