freeCodeCamp/guide/portuguese/java/arraylist/index.md

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.

More Information