HOWTO · Java
Cómo convertir un array en una lista en Java
El artículo introduce métodos para convertir un array en una lista en Java
En esta página
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]