Resumo

Usualmente nos deparamos com a necessidade de manipularmos coleções de dados. A forma mais simples de fazê-lo em java é por meio de arrays. Os arrays podem ser multidimensionais, mas geralmente usamos arrays unidimensionais e bidimensionais que são mais simples de serem manipulados.

Os elementos do array são sempre do mesmo tipo e o seu tamanho é definido no momento da alocação de memória. Uma vez definido, o tamanho do array não poderá ser mais alterado. O fato de ter um tamanho fixo e de não disponibilizar métodos específicos para as manipulações usuais como remoção de elementos do array restringe o seu uso. Uma forma mais flexível é usar as classes que implementam a interface List.

A interface é um conjunto de critérios e comportamentos que uma determinada classe deve possuir. A interface List define o comportamento (métodos) que uma classe que manipule coleções de objeto deve ter. As duas classes básicas que implementam a interface List são a ArrayList e a LinkedList, sendo a mais usada a ArrayList. Não entramos em detalhes sobre as diferenças específicas dessas duas classes, o que nos importa é que elas implementam a interface List e, portanto, podem ser usadas da mesma forma.

A interface List define que todos os elementos da lista são identificados por um índice inteiro e também os métodos:

- add() para adicionar um elemento na lista
- remove(int índice) para retirar o elemento da lista que ocupa a posição definida pelo índice.
- get(int índice): retorna o elemento da lista que ocupa a posição definida pelo índice.

Algumas vezes estamos preocupados na recuperação da informação e os índices inteiros definidos pela interface List podem não ser os mais indicados ou fáceis de lidar. Sendo assim temos uma outra interface chamada Map. Essa interface permite a criação de listas key-value, ou seja, lista em que cada elemento está associado a uma chave que pode ser de qualquer tipo. A interface define os seguintes métodos básicos:

Agora podemos seguir em frente, certos de que temos o conhecimento necessário para manipular qualquer coleção de objetos de forma eficiente.

Copyright © 2014 AIEC.