java.util.ArrayList - principais métodos e funcionalidades
1. Classe java.util.ArrayList<T>
Miguel Jonathan – agosto de 2010.
a) Objetos dessa classe possuem a funcionalidade de uma lista de objetos. A
lista só pode conter referências a objetos, e todas as referências devem ser
do mesmo tipo T.
Por exemplo, um ArrayList<String> é uma lista de strings, e todos os seus
elementos serão referências do tipo String.
b) Para criar uma lista de strings:
ArrayList<String> lista = new ArrayList<String>();
O efeito é criar uma lista vazia. Ao contrário dos vetores (array) uma lista
inicialmente tem tamanho zero.
c) O método int size() informa quantos elementos estão na lista.
Para inserir elementos no final de uma lista, usa-se o método add(T
elemento), sucessivamente. Os elementos da lista são indexados a partir de
zero:
lista.add("UFRJ"); // uma referência a essa string será colocada na posição 0 da
lista
lista.add("UFF"); // uma referência a essa string será colocada na posição 1 da
lista
lista.add("PUC-Rio"); // uma referência a essa string será colocada na posição 2
da lista
d) É possível inserir no meio da lista, com o método:
void add(int indice, T elemento).
O elemento do segundo parâmetro será inserido na posição dada pelo
primeiro argumento. O elemento que estava nessa posição, e todos os
seguintes, serão deslocados uma posição para a direita.
Por exemplo: lista.add(1, "UFRRJ") faria com que a lista do exemplo acima
ficasse com os elementos: UFRJ, UFRRJ, UFF, PUC-Rio, nesta ordem.
e) Toda instância de ArrayList é capaz de se expandir automaticamente,
obtendo mais espaço de memória à medida que novos elementos são
inseridos. não há limite pré-definido, como ocorre com os vetores. O
programador não precisa se preocupar com alocar espaço para os
elementos de uma lista.
f) Para obter um elemento da lista utiliza-se o método abaixo:
T get(int indice) - retorna o elemento da lista que está na posição indice.
Ex: System.out.println(lista.get(2)); // imprimirá PUC-Rio
g) Elementos de uma lista podem ser removidos. Em vetores tradicionais essa
operação é impossível. Ao se remover um elemento de uma lista, a lista se
contrai. O elemento seguinte passa a ter o índice da referência removida.
Por exemplo, se na lista acima removermos o elemento "UFF", o elemento
"PUC-Rio" passará a ser o segundo elemento da lista, com índice 1.
Para remover um elemento, pode-se usar 2 métodos:
T remove(int indice) - remove o elemento na posição indice, e retorna a
referência removida. Dará erro se o índice fornecido estiver fora dos
limites.
boolean remove (Object obj) – remove o primeiro elemento x da lista
que for igual a obj, no sentido que x.equals(obj) == true.Retorna true
se for encontrado e removido algum elemento, e false em caso
contrário.
h) Podemos alterar o valor de um elemento da lista usando o método set:
2. T set(int indice, T elemento) – esse método substitui o elemento atual no
posição indice da lista, pelo elemento passado no segundo parâmetro.
Por exemplo: lista.set(0, "Unirio") substituirá a referência a "UFRJ" por uma
referência a "Unirio", na lista do exemplo.
Há ainda vários outros métodos para manipular listas. Consulte a API da classe.