Java ArrayList (com exemplos)

Neste tutorial, aprenderemos sobre a classe ArrayList em Java. Aprenderemos sobre as diferentes operações e métodos do arraylist com a ajuda de exemplos.

A ArrayListclasse da estrutura de coleções Java fornece a funcionalidade de matrizes redimensionáveis .

Ele implementa a Listinterface.

Implementação Java ArrayList

Java ArrayList Vs Array

Em Java, precisamos declarar o tamanho de um array antes de podermos usá-lo. Depois que o tamanho de um array é declarado, é difícil alterá-lo.

Para lidar com esse problema, podemos usar a ArrayListclasse. Ele nos permite criar arrays redimensionáveis.

Ao contrário dos arrays, os arraylists podem ajustar automaticamente sua capacidade quando adicionamos ou removemos elementos deles. Portanto, arraylists também são conhecidos como arrays dinâmicos .

Criação de uma ArrayList

Antes de usar ArrayList, precisamos java.util.ArrayListprimeiro importar o pacote. Aqui está como podemos criar arraylists em Java:

 ArrayList arrayList= new ArrayList();

Aqui, Tipo indica o tipo de um arraylist. Por exemplo,

 // create Integer type arraylist ArrayList arrayList = new ArrayList(); // create String type arraylist ArrayList arrayList = new ArrayList();

No programa acima, usamos Integernot int. É porque não podemos usar tipos primitivos ao criar uma lista de arraylist. Em vez disso, temos que usar as classes de wrapper correspondentes.

Aqui, Integerestá a classe de wrapper correspondente de int. Para saber mais, visite a classe de wrapper Java.

Exemplo: crie ArrayList em Java

 import java.util.ArrayList; class Main ( public static void main(String() args)( // create ArrayList ArrayList languages = new ArrayList(); // Add elements to ArrayList languages.add("Java"); languages.add("Python"); languages.add("Swift"); System.out.println("ArrayList: " + languages); ) )

Resultado

 ArrayList: (Java, Python, Swift)

No exemplo acima, criamos um ArrayListidioma nomeado.

Aqui, usamos o add()método para adicionar elementos ao arraylist. Aprenderemos mais sobre o add()método posteriormente neste tutorial.

Nota : Também podemos criar uma lista de arrayl usando a Listinterface. É porque a ArrayListclasse implementa a Listinterface.

 List list = new ArrayList();

Operações básicas em ArrayList

A ArrayListclasse fornece vários métodos para realizar diferentes operações em arraylists. Veremos algumas operações arraylist comumente usadas neste tutorial:

  • Adicionar elementos
  • Elementos de acesso
  • Elementos de mudança
  • Remover elementos

1. Adicionar elementos a um ArrayList

Para adicionar um único elemento ao arraylist, usamos o add()método da ArrayListclasse. Por exemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args)( // create ArrayList ArrayList languages = new ArrayList(); // add() method without the index parameter languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages); // add() method with the index parameter languages.add(1, "JavaScript"); System.out.println("Updated ArrayList: " + languages); ) )

Resultado

 ArrayList: (Java, C, Python) ArrayList atualizada: (Java, JavaScript, C, Python)

No exemplo acima, criamos um ArrayListidioma nomeado. Aqui, usamos o add()método para adicionar elementos às linguagens.

Observe a declaração,

 languages.add(1, "JavaScript");

Aqui, usamos o parâmetro de número de índice . É um parâmetro opcional que especifica a posição onde o novo elemento é adicionado.

Para saber mais, visite o Java ArrayList add ().

Também podemos adicionar elementos de uma coleção a um arraylist usando o método Java ArrayList addAll ().

2. Acesse os elementos ArrayList

Para acessar um elemento do arraylist, usamos o get()método da ArrayListclasse. Por exemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList animals = new ArrayList(); // add elements in the arraylist animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); System.out.println("ArrayList: " + animals); // get the element from the arraylist String str = animals.get(1); System.out.print("Element at index 1: " + str); ) )

Resultado

 ArrayList: (Cat, Dog, Cow) Elemento no índice 1: Dog

No exemplo acima, usamos o get()método com o parâmetro 1. Aqui, o método retorna o elemento no índice 1 .

Para saber mais, visite Java ArrayList get ().

Também podemos acessar elementos do ArrayListusando o iterator()método. Para saber mais, visite Java ArrayList iterator ().

3. Alterar os elementos ArrayList

Para alterar o elemento do arraylist, usamos o set()método da ArrayListclasse. Por exemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList languages = new ArrayList(); // add elements in the array list languages.add("Java"); languages.add("Kotlin"); languages.add("C++"); System.out.println("ArrayList: " + languages); // change the element of the array list languages.set(2, "JavaScript"); System.out.println("Modified ArrayList: " + languages); ) )

Resultado

 ArrayList: (Java, Kotlin, C ++) ArrayList modificada: (Java, Kotlin, JavaScript)

No exemplo acima, criamos um ArrayListidioma nomeado. Observe a linha,

 language.set(2, "JavaScript");

Aqui, o set()método altera o elemento no índice 2 para JavaScript.

Para saber mais, visite Java ArrayList set ().

4. Remova os elementos ArrayList

Para remover um elemento da lista de arraylist, podemos usar o remove()método da ArrayListclasse. Por exemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList animals = new ArrayList(); // add elements in the array list animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); System.out.println("ArrayList: " + animals); // aemove element from index 2 String str = animals.remove(2); System.out.println("Updated ArrayList: " + animals); System.out.println("Removed Element: " + str); ) )

Resultado

 ArrayList: (Dog, Cat, Horse) ArrayList atualizado: (Dog, Cat) Elemento removido: Horse

Aqui, o remove()método usa o número do índice como parâmetro. E remove o elemento especificado pelo número do índice .

Para saber mais, visite o Java ArrayList remove ().

Também podemos remover todos os elementos da lista de arranjos de uma vez. Para saber mais, visite

  • Java ArrayList removeAll ()
  • Java ArrayList clear ()

Métodos da classe ArrayList

Na seção anterior, nós aprendemos sobre o add(), get(), set(), e remove()método da ArrayListclasse.

Besides those basic methods, here are some more ArrayList methods that are commonly used.

Methods Descriptions
size() Returns the length of the arraylist.
sort() Sort the arraylist elements.
clone() Creates a new arraylist with the same element, size, and capacity.
contains() Searches the arraylist for the specified element and returns a boolean result.
ensureCapacity() Specifies the total element the arraylist can contain.
isEmpty() Checks if the arraylist is empty.
indexOf() Searches a specified element in an arraylist and returns the index of the element.

If you want to learn about all the different methods of arraylist, visit Java ArrayList methods.

Iterate through an ArrayList

We can use the Java for-each loop to loop through each element of the arraylist. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // creating an array list ArrayList animals = new ArrayList(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); System.out.println("ArrayList: " + animals); // iterate using for-each loop System.out.println("Accessing individual elements: "); for (String language : animals) ( System.out.print(language); System.out.print(", "); ) ) )

Output

 ArrayList: (Cow, Cat, Dog) Accessing individual elements: Cow, Cat, Dog,

ArrayList To Array Conversion

We can convert the ArrayList into an array using the toArray() method. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList languages = new ArrayList(); // add elements in the array list languages.add("Java"); languages.add("Python"); languages.add("C++"); System.out.println("ArrayList: " + languages); // create a new array of String type String() arr = new String(languages.size()); // convert ArrayList into an array languages.toArray(arr); System.out.print("Array: "); // access elements of the array for (String item : arr) ( System.out.print(item + ", "); ) ) )

Output

 ArrayList: (Java, Python, C++) Array: Java, Python, C++, 

In the above example, we have created an arraylist named languages. Notice the statement,

 languages.toArray(arr);

Here, the toArray() method converts the arraylist into an array and stores it in arr. To learn more, visit Java ArrayList toArray().

Java Array to ArrayList Conversion

We can also convert the array into an arraylist. For that, we use the asList() method of the Arrays class.

To use asList(), we must import the java.util.Arrays package first. For example,

 import java.util.ArrayList; import java.util.Arrays; class Main ( public static void main(String() args) ( // create an array of String type String() arr = ( "Java", "Python", "C++" ); System.out.print("Array: "); // print array for (String str : arr) ( System.out.print(str); System.out.print(" "); ) // create an ArrayList from an array ArrayList languages = new ArrayList(Arrays.asList(arr)); System.out.println("ArrayList: " + languages); ) )

Output

 Array: Java Python C++ ArrayList: (Java, Python, C++)

In the above program, we first created an array arr of the String type. Notice the expression,

 Arrays.asList(arr)

Aqui, o asList()método converte a matriz em uma lista de arraylist.

Nota : Também podemos usar o Arrays.asList()método para criar e inicializar o arraylist em uma única linha. Por exemplo,

  // create and initialize arraylist ArrayList animals = new ArrayList(Arrays.asList("Cat", "Cow", "Dog"));

ArrayList para conversão de string

Podemos usar o toString()método da ArrayListclasse para converter um arraylist em uma string. Por exemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList languages = new ArrayList(); // add elements in the ArrayList languages.add("Java"); languages.add("Python"); languages.add("Kotlin"); System.out.println("ArrayList: " + languages); // convert ArrayList into a String String str = languages.toString(); System.out.println("String: " + str); ) )

Resultado

 ArrayList: (Java, Python, Kotlin) String: (Java, Python, Kotlin)

Aqui, o toString()método converte todo o arraylist em uma única string. Para saber mais, visite Java ArrayList toString ().

Artigos interessantes...