Comment convertir une liste en tableau en Java
- Convertir une liste en un tableau de en Java
-
Utilisez
toArray()
pour convertir une liste en un tableau de types de référence en Java -
Utiliser
stream()
pour convertir une liste en tableau en Java
Ce tutoriel traite des méthodes de conversion d’une liste en tableau en Java.
Convertir une liste en un tableau de en Java
Cette méthode consiste simplement à créer un nouveau tableau de la même taille que la liste et à le remplir d’éléments par itération sur la liste. L’exemple ci-dessous illustre cette méthode:
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);
}
}
Le tableau résultant contient tous les éléments de la liste. Notez que cette méthode ne doit pas être utilisée si le tableau résultant est de type non primitif.
Utilisez toArray()
pour convertir une liste en un tableau de types de référence en Java
Cette méthode est utilisée si la liste contient des éléments de types de référence tels que des objets d’une classe. Nous pouvons utiliser la méthode intégrée toArray()
pour convertir une liste de ce type en un tableau. L’exemple ci-dessous en est une illustration:
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());
}
}
}
Utiliser stream()
pour convertir une liste en tableau en Java
Pour Java 8 et supérieur, nous pouvons également utiliser la méthode stream()
de l’API Stream pour convertir une liste en un tableau en Java. L’exemple ci-dessous illustre cette possibilité:
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));
}
}