HOWTO · Java

Inizializza ArrayList in Java

L'articolo introduce metodi per inizializzare un ArrayList in una riga

In questa pagina

Questo tutorial discute i metodi per inizializzare un ArrayList con valori in una riga in Java. È utile per i test e la codifica minimalista.

Usa Arrays.asList per inizializzare un ArrayList in Java

È relativamente più facile inizializzare una lista invece di un ArrayList in Java con i valori iniziali in una riga. Tuttavia, se necessario, può essere convertito in un ArrayList. L’esempio seguente illustra entrambi i modi.

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);
  }
}

Produzione:

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

L’unica differenza tra le cities e le cities_AL è che una è una List e l’altra è una ArrayList.

Usa new ArrayList() Inizializza un ArrayList in Java

Un altro metodo per inizializzare un ArrayList è usare la funzione new ArrayList(). È possibile pre-assegnare tutti i valori in una singola riga di codice.

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);
  }
}

Produzione:

[Amsterdam, Paris, London]

Usa List.of() per inizializzare un ArrayList in Java

In Java9 o successivo, possiamo usare il metodo List.of() invece di Arrays.asList() per inizializzare un ArrayList in Java. L’esempio seguente lo illustra.

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);
  }
}

Produzione:

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

Usa Stream per inizializzare un ArrayList in Java

Possiamo anche usare Stream per inizializzare un ArrayList in Java. L’esempio seguente lo illustra.

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);
  }
}

Produzione:

[Buenos Aires, Córdoba, La Plata]

In questo articolo abbiamo discusso diversi modi per inizializzare un ArrayList in Java in una sola riga con i valori di pre-assegnazione.