Cómo convertir la lista en un array en Java

Hassan Saeed 12 octubre 2023
  1. Convertir una lista en un array en Java
  2. Use toArray() para convertir una lista en un array de tipos de referencia en Java
  3. Use stream() para convertir una lista en un array en Java
Cómo convertir la 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));
 }
}

Artículo relacionado - Java Array