English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender sobre a classe ArrayList do Java. Vamos aprender diferentes operações e métodos do ArrayList através de exemplos.
A classe ArrayList é uma implementação do interface List, permitindo-nos criar arrays ajustáveis em tamanho.
Em Java, precisamos declarar o tamanho do array antes de podermos usá-lo. Uma vez declarado o tamanho do array, é difícil alterá-lo.
Para resolver esse problema, podemos usar a classe ArrayList. A classe ArrayList existente no pacote java.util nos permite criar arrays ajustáveis em tamanho.
Diferente dos arrays, quando adicionamos ou removemos elementos de uma lista de arrays (objeto da classe ArrayList), ela pode ajustar automaticamente sua capacidade. Portanto, a lista de arrays também é chamada de array dinâmico.
Este é o método que podemos usar para criar listas de arrays em Java:
ArrayList<Type> arrayList = new ArrayList<>();
Aqui, Type indica o tipo da lista de array. Por exemplo,
//Criar lista de array de tipo inteiro ArrayList<Integer> arrayList = new ArrayList<>(); //Criar lista de array de tipo string ArrayList<String> arrayList = new ArrayList<>();
No programa acima, usamos Integer e String. Aqui, Integer é a classe de envoltório correspondente ao tipo int.
As classes de envoltório são classes que envolvem tipos de dados primitivos. Por exemplo, a classe Integer envolve o tipo int, a classe Float envolve o tipo float, etc.
Atenção:Não podemos criar uma lista de array de tipos de dados primitivos (como int, float, char, etc.). Em vez disso, devemos usar suas classes de envoltório correspondentes.
Para strings, String é uma classe e não há classe de envoltório. Portanto, usamos String conforme está.
Também podemos usar o interface List para criar ArrayList. Isso porque a classe ArrayList implementou o interface List.
List<String> list = new ArrayList<>();
ArrayList oferece várias métodos que permitem que execute operações de lista de array.
1. Usar método add()
Para adicionar um único elemento a uma lista de array, usamos o método add(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> animals = new ArrayList<>(); //Adicionar elemento animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList: " + "") + animals); } }
Resultados de saída
ArrayList: [Dog, Cat, Horse]
2. Usar número de índice
Também podemos usar índices para adicionar elementos a uma lista de array. Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> animals = new ArrayList<>(); //Adicionar elemento animals.add(0,"Cão"); animals.add(1,"Gato"); animals.add(2,"Cavalo"); System.out.println("ArrayList: " + "") + animals); } }
Resultados de saída
ArrayList: [Dog, Cat, Horse]
3. Adicionar elementos de uma lista de array a outra lista de array
Para adicionar todos os elementos de uma lista de array a uma nova lista de array, use o método addAll(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> mammals = new ArrayList<>(); mammals.add("Cão"); mammals.add("Gato"); mammals.add("Cavalo"); System.out.println("Mammals: " + mammals); ArrayList<String> animals = new ArrayList<>(); animals.add("Crocodile"); // Adicionar todos os elementos de mammals ao animals animals.addAll(mammals); System.out.println("Animais: " + animals); } }
Resultados de saída
Mamíferos: [Cão, Gato, Cavalo] Animais: [Crocodilo, Cão, Gato, Cavalo]
diferente de um array, não podemos inicializar diretamente uma lista de arrays. Mas podemos usar o método asList() da classe Arrays para alcançar o mesmo efeito.
para usar o método asList(), devemos primeiro importar o pacote java.util.Arrays.
por exemplo,
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Criar lista de arrays ArrayList<String> animals = new ArrayList<>(Arrays.asList("Gato", "Vaca", "Cão")); System.out.println("ArrayList: " + "") + animals); //acessar elemento da lista de arrays String element = animals.get(1); System.out.println("acessar elemento: " + element); } }
Resultados de saída
ArrayList: [Gato, Vaca, Cão] acessar elemento: Vaca
neste exemplo, note a seguinte expressão:
new ArrayList<>(Arrays.asList("Gato", "Vaca", "Cão"));
aqui, primeiro usamos3uma lista de arrays de elementos: "Gato", "Vaca" e "Cão". Em seguida, o método asList() é usado para converter o array em uma lista de arrays.
1.usar método get()
para acessar elementos de uma lista de arrays aleatoriamente, usamos o método get(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cão "); animals.add(" Cavalo "); animals.add(" Gato "); System.out.println("ArrayList: " + "") + animals); //obter elemento da lista de arrays String str = animals.get(0); System.out.print("o elemento na posição 0: " + str); } }
Resultados de saída
ArrayList: [Dog, Horse, Cat] o elemento na posição 0: Cão
2.usar método iterator()
para acessar os elementos de uma lista de arrays em ordem, usamos o método iterator(). Devemos importar o pacote java.util.Iterator para usar esse método. Por exemplo,
import java.util.ArrayList; import java.util.Iterator; class Main { public static void main(String[] args){ ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); animals.add("Zebra"); //criar um objeto Iterator Iterator<String> iterate = animals.iterator(); System.out.print("ArrayList: "); //usar métodos do Iterator para acessar elementos while(iterate.hasNext()){ System.out.print(iterate.next()); System.out.print(", "); } } }
Resultados de saída
ArrayList: Cachorro, Gato, Cavalo, Zebra,
Considerações:
hasNext() - se a lista de arrays tiver o próximo elemento, retorna true.
next() - retornar o próximo elemento da lista de arrays
Para alterar um elemento da lista de arrays, podemos usar o método set(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList: " + "") + animals); //alterar elemento da lista de arrays animals.set(2, "Zebra"); System.out.println("ArrayList modificado: "); + animals); } }
Resultados de saída
ArrayList: [Dog, Cat, Horse] ArrayList modificado: [Cachorro, Gato, Zebra]
1.usar método remove()
Para excluir um elemento da lista de arrays, podemos usar o método remove(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList inicial: "); + animals); //do índice2remover elemento String str = animals.remove(2); System.out.println("ArrayList final: "); + animals); System.out.println("excluir elemento: "); + str); } }
Resultados de saída
ArrayList inicial: [Cachorro, Gato, Cavalo] ArrayList final: [Cachorro, Gato] excluir elemento: Horse
2.usar método removeAll()
Para excluir todos os elementos da lista de arrays, usamos o método removeAll(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); // Adicionar elementos ao ArrayList animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList inicial: "); + animals); // excluir todos os elementos animals.removeAll(animals); System.out.println("ArrayList final: "); + animals); } }
Resultados de saída
ArrayList inicial: [Cachorro, Gato, Cavalo] ArrayList final: []
3.usar método clear()
também podemos usar o método clear() para excluir todos os elementos da lista de arrays. Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList inicial: "); + animals); //excluir todos os elementos animals.clear(); System.out.println("ArrayList final: "); + animals); } }
Resultados de saída
ArrayList inicial: [Cachorro, Gato, Cavalo] ArrayList final: []
Atenção:o método clear() é mais eficiente que o método removeAll().
1.usar loop for
import java.util.ArrayList; class Main { public static void main(String[] args) { //Criar lista de arrays ArrayList<String> animals = new ArrayList<>(); animals.add("Cow"); animals.add(" Gato "); animals.add(" Cão "); System.out.println("ArrayList: " + "") + animals); //usar loop for System.out.println("Acessar todos os elementos: "); for(int i = 0; i < animals.size(); i++) { System.out.print(animals.get(i)); System.out.print(", "); } } }
Resultados de saída
ArrayList: [Cow, Cat, Dog] Acessar todos os elementos: Cow, Cat, Dog,
2.usar loop forEach
import java.util.ArrayList; class Main { public static void main(String[] args) { // Criar lista de arrays ArrayList<String> animals = new ArrayList<>(); animals.add("Cow"); animals.add(" Gato "); animals.add(" Cão "); System.out.println("ArrayList: " + "") + animals); //Usar loop forEach System.out.println("Acessar todos os elementos: "); for(String animal : animals) { System.out.print(animal); System.out.print(", "); } } }
Resultados de saída
ArrayList: [Cow, Cat, Dog] Acessar todos os elementos: Cow, Cat, Dog,
Nos dois exemplos, usamos um loop para acessar cada elemento da lista de arrays.
Para obter o comprimento de uma lista de arrays, usamos o método size(). Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); // Adicionar elementos à arrayList animals.add(" Cão "); animals.add(" Cavalo "); animals.add(" Gato "); System.out.println("ArrayList: " + "") + animals); //Obter o tamanho da arrayList System.out.println("tamanho da arrayList: ", + animals.size()); } }
Resultados de saída
ArrayList: [Dog, Horse, Cat] tamanho da arrayList: 3
Para ordenar os elementos de uma lista de arrays, usamos o método sort() da classe Collections. Para usá-lo, devemos primeiro importar o pacote java.util.Collections.
Por padrão, a ordenação é em ordem alfabética ou numérica. Por exemplo,
import java.util.ArrayList; import java.util.Collections; class Main { public static void main(String[] args){ ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cavalo "); animals.add("Zebra"); animals.add(" Cão "); animals.add(" Gato "); System.out.println("ArrayList não ordenada: ", + animals); //Ordenar a lista de arrays Collections.sort(animals); System.out.println("ArrayList ordenada: ", + animals); } }
Resultados de saída
ArrayList não ordenada: [Horse, Zebra, Dog, Cat] ArrayList ordenada: [Cat, Dog, Horse, Zebra]
Para obter mais informações sobre a ordenação de listas de arrays, acesse Java ArrayList sort.
No Java, podemos usar o método toArray() para converter uma lista de arrays em um array. Por exemplo,
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos à lista de arrays animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList: " + "") + animals); //Criar um novo array de tipo String String[] arr = new String[animals.size()]; //Converter ArrayList para array animals.toArray(arr); System.out.print("Array: "); for(String item: arr) { System.out.print(item+", "); } } }
Resultados de saída
ArrayList: [Dog, Cat, Horse] Array: Cão, Gato, Cavalo,
Também podemos converter um array em uma lista de arrays. Para isso, podemos usar o método asList() da classe Arrays.
Para usar asList(), devemos primeiro importar o pacote java.util.Arrays. Por exemplo,
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Criar um array de tipo String String[] arr = {"Cão", "Gato", "Cavalo"}; System.out.print("Array: "); //Imprimir array for(String str: arr) { System.out.print(str); System.out.print(" "); } //Criar ArrayList a partir de um array ArrayList<String> animals = new ArrayList<>(Arrays.asList(arr)); System.out.println("\nArrayList: " + "") + animals); } }
Resultados de saída
Array: Dog, Gato, Cavalo ArrayList: [Dog, Cat, Horse]
No programa acima, primeiro criamos um array de tipo String arr.
Em seguida, usamos o método asList() para converter um array em uma lista de arrays.
Para converter uma lista de arrays em uma string, você pode usar o método toString(). Por exemplo
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<>(); //Adicionar elementos ao ArrayList animals.add(" Cão "); animals.add(" Gato "); animals.add(" Cavalo "); System.out.println("ArrayList: " + "") + animals); //Converte ArrayList em string String str = animals.toString(); System.out.println("String: " + str); } }
Resultados de saída
ArrayList: [Dog, Cat, Horse] String: [Dog, Cat, Horse]
Atenção: toString() converte toda a lista de arrays em um único String.
Métodos | Descrição do conteúdo |
---|---|
clone() | Crie uma nova lista de arrays com os mesmos elementos, tamanho e capacidade. |
contains() | Procure o elemento especificado na lista de arrays e retorne um valor booleano. |
ensureCapacity() | Especifique o número total de elementos que a lista de arrays pode conter. |
isEmpty() | Verifique se a lista de arrays está vazia. |
indexOf() | Procure o elemento especificado na lista de arrays e retorne o índice do elemento. |
trimToSize() | Reduza o tamanho da capacidade da lista de arrays para o tamanho atual. |