Cómo convertir un array en una lista en Java

Hassan Saeed 12 octubre 2023
  1. Crear una lista vacía y añadir todos los elementos
  2. Usa Arrays.asList() para convertir un array en una lista en Java
  3. Usa new ArrayList<>(Arrays.asList(arr)) para convertir un Array en una lista en Java
Cómo convertir un array en una lista en Java

Este tutorial trata sobre tres métodos para convertir un array en una lista en Java.

Crear una lista vacía y añadir todos los elementos

Es un método muy trivial y obvio. Podemos crear una lista vacía, hacer un bucle con todos los elementos del array y añadirlos a la lista.

El siguiente ejemplo ilustra esto:

import java.util.*;
import java.util.stream.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>();
    for (int i = 0; i < myArray.length; i++) {
      myList.add(myArray[i]);
    }
    System.out.println(myList);
  }
}

Resultado:

> [1, 2, 3]

Usa Arrays.asList() para convertir un array en una lista en Java

Podemos usar el método incorporado que proporciona la clase Arrays para convertir un array en una lista - Arrays.asList(arr). Asegúrate de importar java.util.* en tu código.

El siguiente ejemplo lo ilustra.

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    System.out.println(myList);
  }
}

Resultado:

> [1, 2, 3]

Sin embargo, este método da como resultado una lista de tamaño fijo, y no podemos añadir más elementos a ella.

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = Arrays.asList(myArray);
    myList.add("4");
  }
}

Resultado:

> Exception in thread "main" java.lang.UnsupportedOperationException
	at java.base/java.util.AbstractList.add(AbstractList.java:153)
	at java.base/java.util.AbstractList.add(AbstractList.java:111)
	at MyClass.main(MyClass.java:6)

Usa new ArrayList<>(Arrays.asList(arr)) para convertir un Array en una lista en Java

Este método, new ArrayList<>(Arrays.asList(integers)); permite convertir un array en una lista, y añadir también puede añadir elementos adicionales a la lista resultante. El siguiente ejemplo ilustra esto:

import java.util.*;

public class MyClass {
  public static void main(String args[]) {
    String[] myArray = new String[] {"1", "2", "3"};
    List<String> myList = new ArrayList<>(Arrays.asList(myArray));
    System.out.println("After conversion from array to list: " + myList);
    myList.add("4");
    System.out.println("After adding a new element: " + myList);
  }
}

Resultado:

> After conversion from array to list: [1, 2, 3]
> After adding a new element: [1, 2, 3, 4]

Artículo relacionado - Java Array

Artículo relacionado - Java List