3.4 KiB
title | localeTitle |
---|---|
ArrayList | ArrayList |
ArrayList
ArrayList é uma parte de algo chamado de estrutura de Coleção (Collection) .
A estrutura de Coleção consiste de todas as interfaces e classes que podem conter um conjunto de valores (semelhante a arrays ). ArrayList é uma classe que está nesta hierarquia e é conhecida como um objeto Collection. ArrayList implementa a interface List, que por sua vez implementa a interface Collection . Essa interface Collection pode ser encontrada no pacote java.util
. Você precisará importar este pacote.
ArrayList é uma classe usada para criar matrizes dinâmicas. É mais lento que os arrays regulares, mas permite muita manipulação. Pode ser inicializado para ter um tamanho específico ou terá um tamanho padrão de 10 unidades.
ArrayList<String> nomes = new ArrayList<>();
ArrayList<Integer> idades = new ArrayList<>(5);
No snippet acima, <>
toma um tipo de dados genérico como argumento especificando o tipo de dados dos elementos no ArrayList. No primeiro exemplo, o ArrayList nomes
são especificados como contendo elementos String. Assim, só será permitido conter elementos String. Seu tamanho não é especificado, portanto, ele terá um tamanho inicial de 10. O segundo exemplo, o ArrayList idades
, especificou que ele só conterá inteiros. Mas ArrayList não pode conter primitivos, ele só contém objetos. Assim, para poder armazenar números inteiros, reais, etc., podemos usar classes wrapper. idades
terão um tamanho inicial especificado: 5.
Como ArrayList implementa List , um ArrayList pode ser criado usando a seguinte sintaxe:
List<Integer> estudantes = new ArrayList<>();
Um ArrayList é dinâmico, o que significa que ele aumentará de tamanho se necessário e, da mesma forma, diminuirá de tamanho se os elementos forem excluídos dele. É esta dinamicidade que faz com que seja melhor usar do que os arrays normais quando queremos que o array cresça ou dimunua de tamanho.
Para criar/remover todos os elementos de um ArrayList
variavel.clear();
Nos podemos remover elementos existentes em uma lista
variavel.remove(posicao);
Para acessar um elemento presente na lista
variavel.get(posicao);
Nos podemos modificar um elemento presente na lista também
variavel.set(posicao, elemento);
Nos podemos inverter a ordem dos elementos no ArrayList
import java.util.Collections; // package
Collections.reverse(variavel);
Ordenar em ordem ascendente
Collections.sort(variavel);
Ordenar em ordem descendente
Collections.reverseOrder();
Um ArrayList nos permite acessar elementos aleatoriamente. ArrayList é semelhante ao Vector de_ várias formas. Mas é mais rápido que Vector. A principal coisa a notar é que - Objetos Vector são mais rápidos que objetos que são arrays, mas objectos ArrayList não são.
Então, quando se trata de escolher entre os dois - se a velocidade é crítica, então Vector devem ser considerados, caso contrário, ArrayList são melhores quando se trata de armazenar grande número de elementos e acessá-los de forma eficiente.