Converti lista in array in Java
- Converti una lista in un array di in Java
-
Usa
toArray()
per convertire una lista in un array di tipi di riferimento in Java -
Usa
stream()
per convertire una lista in un 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));
}
}