Conversión de Array a ArrayList en Java – Part 1

Los siguientes métodos se pueden utilizar para convertir Array To ArrayList :
 

Array to ArrayList

Método 1: Usar el método Arrays.asList()

 Syntax: public static List asList(T... a)
// Returns a fixed-size List as of size of given array. 
// Element Type of List is of same as type of array element type.
// It returns an List containing all of the elements in this 
// array in the same order. 
// T represents generics 

Tenga en cuenta que hay un parámetro de array y un valor de retorno de lista. 
 

  • Devuelve una lista de tamaño fijo respaldada por la array especificada.
  • La lista devuelta es serializable e implementa RandomAccess.
  • Dado que la Lista devuelta tiene un tamaño fijo, por lo tanto, no podemos agregar más elementos en ella, pero podemos reemplazar el elemento existente con un elemento nuevo usando el método set (índice, elemento nuevo) definido en la clase ArrayList. 
     

Java

// Java program to demonstrate conversion of
// Array to ArrayList of fixed-size.
import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
        String[] geeks = {"Rahul", "Utkarsh",
                          "Shubham", "Neelam"};
 
        // Conversion of array to ArrayList
        // using Arrays.asList
        List al = Arrays.asList(geeks);
 
        System.out.println(al);
    }
}

Producción: 
 

[Rahul, Utkarsh, Shubham, Neelam]

¿Qué pasa si agregamos más elementos a la lista convertida?  
Dado que la Lista devuelta es una Lista de tamaño fijo, no podemos agregar más elementos. Un intento de agregar más elementos causaría UnsupportedOperationException.
Considere el siguiente ejemplo. 
 

Java

// Java program to demonstrate error
// if we add more element(s) to
// a fixed-size List.
import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
 
        String[] geeks = {"Rahul", "Utkarsh",
                          "Shubham", "Neelam"};
 
        // Conversion of array to ArrayList
        // using Arrays.asList
        List al = Arrays.asList(geeks);
        System.out.println(al);
 
        // Adding some more values to the List.
        al.add("Shashank");
        al.add("Nishant");
 
        System.out.println(al);
    }
}

Producción: 
 

[Rahul, Utkarsh, Shubham, Neelam]

Error de tiempo de ejecución 
 

Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(AbstractList.java:148)
    at java.util.AbstractList.add(AbstractList.java:108)
    at GFG.main(File.java:16)

Por lo tanto, se recomienda crear una nueva ArrayList y pasar Arrays.asList (referencia de array) como argumento (es decir, como un argumento constructor de ArrayList).
Considere el siguiente ejemplo: 
 

Java

// Java program to demonstrate how to add
// one or more element(s) to returned
// resizable List.
import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
        String[] geeks = {"Rahul", "Utkarsh",
                          "Shubham", "Neelam"};
 
        List<String> al =
            new ArrayList<String>(Arrays.asList(geeks));
        System.out.println(al);
 
        // Adding some more values to the List.
        al.add("Shashank");
        al.add("Nishant");
 
        System.out.println("\nArrayList After adding two" +
                           " more Geeks: ");
        System.out.println(al);
    }
}
[Rahul, Utkarsh, Shubham, Neelam]

ArrayList After adding two more Geeks: 
[Rahul, Utkarsh, Shubham, Neelam, Nishant, Shashank]

&nbap;
 

Método 2: Usar el método Collections.addAll()

Syntax: public static  boolean addAll(Collection c, T... a)
// Adds all of the specified elements to the specified collection.
// Elements to be added may be specified individually or as an array.
// T is generics

Tenga en cuenta que hay un parámetro de colección c en el que se insertarán elementos y el parámetro de array a contiene los elementos para insertar en c
El tipo de retorno es de tipo booleano. Devuelve verdadero si la colección cambió como resultado de la llamada.
Lanza UnsupportedOperationException si la colección c no admite el método add y lanza IllegalArgumentException si algún aspecto de un valor en los elementos (o elementos de la array) impide que se agregue a la colección c .
Considere el siguiente ejemplo: 
 

Java

// Java program to demonstrate how to
// add all elements of array to arrayList.
import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
        String[] geeks = {"Rahul", "Utkarsh",
                         "Shubham", "Neelam"};
 
        List<String> al = new ArrayList<String>();
 
        // adding elements of array to arrayList.
        Collections.addAll(al, geeks);
 
        System.out.println(al);
    }
}

Producción : 

[Rahul, Utkarsh, Shubham, Neelam]

Agregar nulo a la lista 
Nota: si la colección especificada o la array especificada es nula, arrojará NullpointerException. 
 

Java

// Adding null to a list
import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
        String[] geeks = {"Rahul", "Utkarsh",
                         "Shubham", "Neelam"};
 
        List<String> al = new ArrayList<String>();
        Collections.addAll(null, geeks);
 
        System.out.println(al);
    }
}

Agregar nulo al final de la lista 
 

Java

import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
        String[] geeks = {"Rahul", "Utkarsh",
                          "Shubham", "Neelam"};
 
        List<String> al = new ArrayList<String>();
        Collections.addAll(al, null);
 
        System.out.println(al);
    }
}

Error de tiempo de ejecución 
 

Exception in thread "main" java.lang.NullPointerException
    at java.util.Collections.addAll(Collections.java:5401)
    at GFG.main(File.java:11)

Método 3: usar el método manual para convertir Array usando el método add()

Podemos usar este método si no queremos usar Java en los métodos integrados. Este es un método manual para agregar todos los elementos de la array a la Lista. 
 

Syntax: public boolean add(Object obj)
// Appends the specified element to the end of this list.
// Returns true.

Java

// Java program to convert a ArrayList to
// an array using add() in a loop.
import java.util.*;
 
class GFG
{
    public static void main (String[] args)
    {
        String[] geeks = {"Rahul", "Utkarsh",
                          "Shubham", "Neelam"};
 
        List<String> al = new ArrayList<String>();
 
        // Array to ArrayList Conversion
        for (String geek : geeks)
            al.add(geek);
 
        System.out.println(al);
    }
}

Producción: 
 

[Rahul, Utkarsh, Shubham, Neelam]

Artículo relacionado: Conversión de ArrayList a Array
Este artículo es una contribución de Nitsdheerendra . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *