Convertir una Lista en una Matriz

JavaBeginner
Practicar Ahora

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().