Introducción
En este laboratorio, aprenderemos cómo convertir una List en una matriz en Java. La List es una estructura de datos lineal que almacena datos, mientras que la matriz es una estructura de datos indexada que almacena tipos de datos similares. Utilizaremos el método toArray() de la interfaz List que devuelve una matriz de objetos.
Crear una Lista
Crearemos una List de verduras e imprimiremos sus elementos.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> vegetables = new ArrayList<>();
vegetables.add("Carrot");
vegetables.add("Potato");
vegetables.add("Tomato");
System.out.println("Vegetables List: " + vegetables);
}
}
Compile y ejecute el código anterior utilizando el siguiente comando.
javac Main.java && java Main
Convertir una Lista en una Matriz
Ahora convertiremos la List en una matriz utilizando el método toArray(). El método toArray() devuelve una matriz de elementos de tipo Object. Entonces, si quieres obtener otro tipo de matriz, pasa un objeto de ese tipo como argumento.
//Conversion List to Array
String[] newArray = vegetables.toArray(new String[0] );
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
System.out.println(newArray[i]);
}
Compile y ejecute el código anterior utilizando el siguiente comando.
javac Main.java && java Main
Convertir con el método Stream()
Si estás utilizando Java 8 o una versión superior, entonces puedes utilizar el método stream() para obtener un flujo de elementos y luego utilizar la sintaxis de referencia de método para obtener una matriz de elementos de tipo cadena a partir de la lista.
//Conversion List to Array with Stream Method
String[] newArray = vegetables.stream().toArray(String[]::new);
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
System.out.println(newArray[i]);
}
Compile y ejecute el código anterior utilizando el siguiente comando.
javac Main.java && java Main
Convertir utilizando directamente el método toArray()
Si estás utilizando las últimas versiones de Java, entonces puedes obtener una matriz a partir de la lista sin utilizar el método stream() y directamente utilizar el método toArray().
//Conversion List to Array without using stream() method
String[] newArray = vegetables.toArray(String[]::new);
System.out.println("New Array: " + newArray);
for (int i = 0; i < newArray.length; i++) {
System.out.println(newArray[i]);
}
Compile y ejecute el código anterior utilizando el siguiente comando.
javac Main.java && java Main
Resumen
En este laboratorio, aprendimos cómo convertir una List en una matriz en Java. Utilizamos el método toArray() de la interfaz List para convertir la List en una matriz. También aprendimos varios métodos para convertir la List en una matriz, como utilizar el método stream() o directamente el método toArray().



