Cómo convertir la lista en un array en Java
- Convertir una lista en un array en Java
-
Use
toArray()
para convertir una lista en un array de tipos de referencia en Java -
Use
stream()
para convertir una lista en un array en Java
Este tutorial trata sobre los métodos para convertir una lista en un array en Java.
Convertir una lista en un array en Java
Este método simplemente crea una nueva array con el mismo tamaño que la lista e itera sobre la lista llenando el array con elementos. El siguiente ejemplo ilustra esto:
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);
}
}
del array resultante contiene todos los elementos de la lista. Nótese que este método no debería ser usado si el array resultante es de tipos no primitivos.
Use toArray()
para convertir una lista en un array de tipos de referencia en Java
Este método se utiliza si la lista contiene elementos de tipos de referencia como objetos de una clase. Podemos usar el método incorporado toArray()
para convertir una lista de tal tipo en un array. El siguiente ejemplo lo ilustra:
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());
}
}
}
Use stream()
para convertir una lista en un array en Java
Para Java 8 y superior, también podemos usar el método stream()
de Stream API para convertir una lista en un array en Java. El siguiente ejemplo ilustra esto:
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));
}
}