ArrayList
Ao contrário das matrizes comuns, o ArrayList do pacote java.util é um array de expansão automática. Ao criar um objeto do tipo ArrayList , você não precisa especificar a sua dimensão. Por exemplo,
ArrayList lista = new ArrayList();
Vantagens ArrayList em comparação com um array regular:
- acesso rápido a elementos por índice em tempo constante
O(1) ;
- acessar elementos por valor em tempo linear
O(n) ;
- permite que você armazene qualquer valor, incluindo
null .
Fraquezas ArrayList :
Inserir/remover um elemento causa a substituição de todos os elementos colocados "à direita" na lista uma posição à esquerda, ou seja, funciona em tempo linear O(n) ;
Lembre-se que as listas podem conter apenas objetos, portanto, se você deseja armazenar números, use Integer em vez de int . Integer é o nome de uma classe e um objeto dessa classe pode conter um valor inteiro. Você pode ler mais sobre classes e objetos aqui: introdução à programação orientada a objetos.
|
Existem duas opções para adicionar um elemento a um ArrayList:
add(value); - adicionando um valor ao final do ArrayList
add(index, value); - adicionando um valor ao lugar certo pelo índice.
Por exemplo:
arr.adicionar(10); extensão>
arr.adicionar(5,10);
|
Para obter o valor de um elemento de um ArrayList, use o método get(index)
Por exemplo:
Para descobrir o número de elementos em um array, você pode usar o método size()
Por exemplo:
int contagem = arr. tamanho();
|
Para alterar o valor por índice na lista, use name.set(index,value);
|
Existem duas opções para adicionar um elemento a um ArrayList:
add(value); - adicionando um valor ao final do ArrayList
add(index, value); - adicionando um valor ao lugar certo pelo índice.
Por exemplo:
arr.adicionar(10); extensão>
arr.adicionar(5,10);
|
Você pode remover elementos em um ArrayList usando o método remove de duas maneiras:
- por index remove(index)
- por valor remove(valor)
Por exemplo:
arr.remover(0); span> //remove o primeiro elemento
arr.remover(< strong>novo Integer(10)); //exclui elemento com valor 10
|
ArrayList reverso
A interface Collections também fornece métodos para operações em massa que funcionam em toda a coleção:
containsAll - retorna o valor booleano true se esta coleção contém todos os elementos da coleção chamada, caso contrário, retorna false .
addAll - adiciona todos os elementos especificados à coleção especificada. Os elementos a serem adicionados podem ser especificados individualmente ou como um array.
removeAll - é usado para remover todos os elementos da lista que estão contidos na coleção especificada.
limpar - remove todos os elementos
reverse - array reverse
etc
Exemplo
Usando removeAll .
ArrayList<Integer> primeiro = new ArrayList<Integer>();
primeiro.add(1);
primeiro.add(2);
primeiro.add(3);
ArrayList<Integer> segundo = new ArrayList<Integer>();
segundo.add(1);
segundo.add(2);
// remove todos os elementos da segunda lista,
// se existirem na primeira lista
segundo.removeAll(primeiro);
|