Inicializar uma ArrayList em Java

Hassan Saeed 12 outubro 2023
  1. Utilize Arrays.asList para inicializar uma ArrayList em Java
  2. Utilize new ArrayList() Inicializar uma ArrayList em Java
  3. Utilize List.of() para inicializar uma ArrayList em Java
  4. Utilize Stream para inicializar uma ArrayList em Java
Inicializar uma ArrayList em Java

Este tutorial discute métodos para inicializar uma ArrayList com valores numa linha em Java. É útil para testes e codificação minimalista.

Utilize Arrays.asList para inicializar uma ArrayList em Java

É relativamente mais fácil inicializar uma lista em vez de uma ArrayList em Java com valores iniciais numa só linha. No entanto, se necessário, pode ser convertida para uma ‘ArrayList’. O exemplo abaixo ilustra ambas as formas.

import java.util.*;

public class Main {
  public static void main(String[] args) {
    // Initialize a list
    List<String> cities = Arrays.asList("Amsterdam", "Paris", "London");

    // Initialize an ArrayList
    ArrayList<String> cities_AL = new ArrayList<>(Arrays.asList("Amsterdam", "Paris", "London"));

    System.out.println(cities);
    System.out.println(cities_AL);
  }
}

Resultado:

[Amsterdam, Paris, London]
[Amsterdam, Paris, London]

A única diferença entre cities e cities_AL é que uma é uma List e a outra é uma ArrayList.

Utilize new ArrayList() Inicializar uma ArrayList em Java

Outro método para inicializar uma ArrayList é a utilização da função new ArrayList(). É possível pré-atribuir todos os valores numa única linha de código.

import java.util.*;

public class Main {
  public static void main(String[] args) {
    // Pre assign the values
    ArrayList<String> cities = new ArrayList<String>() {
      {
        add("Amsterdam");
        add("Paris");
        add("London");
      }
    };

    System.out.println(cities);
  }
}

Resultado:

[Amsterdam, Paris, London]

Utilize List.of() para inicializar uma ArrayList em Java

Em Java9 ou mais tarde, podemos utilizar o método List.of() em vez de Arrays.asList() para inicializar uma ArrayList em Java. O exemplo abaixo ilustra isto.

import java.util.*;

public class Main {
  public static void main(String[] args) {
    // Initialize a List
    List<String> strings = List.of("foo", "bar", "baz");
    System.out.println(strings);

    // Initialize an ArrayList
    ArrayList<String> strings_a = new ArrayList<>(List.of("foo", "bar", "baz"));
    System.out.println(strings_a);
  }
}

Resultado:

[foo, bar, baz]
[foo, bar, baz]

Utilize Stream para inicializar uma ArrayList em Java

Podemos também utilizar o Stream para inicializar uma ArrayList em Java. O exemplo abaixo ilustra isto.

import java.util.*;
import java.util.stream.*;
public class Main {
  public static void main(String[] args) {
    ArrayList<String> places = new ArrayList<>(
        Stream.of("Buenos Aires", "Córdoba", "La Plata").collect(Collectors.toList()));

    System.out.println(places);
  }
}

Resultado:

[Buenos Aires, Córdoba, La Plata]

Discutimos várias formas de inicializar uma ArrayList em Java em apenas uma linha com valores pré-atribuídos neste artigo.

Artigo relacionado - Java ArrayList