Converti lista in array in Java

Hassan Saeed 12 ottobre 2023
  1. Converti una lista in un array di in Java
  2. Usa toArray() per convertire una lista in un array di tipi di riferimento in Java
  3. Usa stream() per convertire una lista in un array in Java
Converti lista in array in Java

Questo tutorial discute i metodi per convertire una lista in un array in Java.

Converti una lista in un array di in Java

Questo metodo crea semplicemente un nuovo array con le stesse dimensioni dell’lista e scorre l’lista riempiendo l’array di elementi. L’esempio seguente lo illustra:

import java.util.*;
public class MyClass {
  public static void main(String args[]) {
    List<Integer> list = new ArrayList();
    list.add(1);
    list.add(2);
    int[] array = new int[list.size()];
    for (int i = 0; i < list.size(); i++) array[i] = list.get(i);
  }
}

L’array risultante contiene tutti gli elementi dell’lista. Si noti che questo metodo non deve essere utilizzato se l’array risultante è di tipi non primitivi.

Usa toArray() per convertire una lista in un array di tipi di riferimento in Java

Questo metodo viene utilizzato se l’lista contiene elementi di tipi di riferimento come gli oggetti di una classe. Possiamo usare il metodo integrato toArray() per convertire una lista di questo tipo in un array. L’esempio seguente lo illustra:

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    // Define the Foo class
    class Foo {
      private int value;

      public Foo(int value) {
        this.value = value;
      }

      public int getValue() {
        return value;
      }
    }

    // Create instances of Foo
    Foo obj1 = new Foo(42);
    Foo obj2 = new Foo(99);

    // Create a List of Foo objects
    List<Foo> list = new ArrayList<>();
    
    // Add the obj1 and obj2 to the list
    list.add(obj1);
    list.add(obj2);

    // Convert the list to an array
    Foo[] array = list.toArray(new Foo[0]);

    // Print the values from the array
    for (Foo foo : array) {
      System.out.println("Value: " + foo.getValue());
    }
  }
}

Usa stream() per convertire una lista in un array in Java

Per Java 8 e versioni successive, possiamo anche utilizzare il metodo stream() dell’API Stream per convertire una lista in un array in Java. L’esempio seguente lo illustra:

import java.util.*;
public class MyClass {
 public static void main(String args[]) {
   List<Integer> list = new ArrayList<>();
   list.add(1);
   list.add(2);
   Integer[] integers = list.stream().toArray(Integer[] ::new);

   // Print the converted array
   System.out.println(Arrays.toString(integers));
 }
}

Articolo correlato - Java Array