Open In App

Conversion of Array To ArrayList in Java

Improve
Improve
Like Article
Like
Save
Share
Report

Following methods can be used for converting Array To ArrayList:
 

Array to ArrayList

 

Method 1: Using Arrays.asList() method

 

 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 

Note that the there is an array parameter and List return value. 
 

  • Returns a fixed-size list backed by the specified array.
  • The returned list is serializable and implements RandomAccess.
  • Since returned List is fixed-size therefore we can’t add more element in it, but we can replace existing element with new element using set(index, new Element) method defined in ArrayList class. 
     

 

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);
    }
}


Output: 
 

[Rahul, Utkarsh, Shubham, Neelam]

What if we add more elements to the converted list? 
Since returned List is fixed-size List, we can’t add more element(s). An attempt of adding more elements would cause UnsupportedOperationException.
Consider the following example. 
 

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);
    }
}


Output: 
 

[Rahul, Utkarsh, Shubham, Neelam]

Runtime error 
 

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)

It is therefore recommended to create new ArrayList and pass Arrays.asList(array reference) as an argument to it (i.e. as an constructor argument of ArrayList).
Consider the following example: 
 

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;
 

Method 2: Using Collections.addAll() method

 

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

Note that there is a collection parameter c into which elements to be inserted and array parameter a contains the elements to insert into c
Return type is boolean type. It returns true if the collection changed as a result of the call.
It throws UnsupportedOperationException if collection c does not support add method and throws IllegalArgumentException if some aspect of a value in elements(or elements of array) prevents it from being added to collection c.
Consider the following example: 
 

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);
    }
}


Output : 

[Rahul, Utkarsh, Shubham, Neelam]

Adding null to the list 
Note : If the specified collection or specified array is null then it throw 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);
    }
}


Adding null to the end of list 
 

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);
    }
}


RunTime Error 
 

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

 
 

Method 3: Using Manual method to convert Array using add() method

We can use this method if we don’t want to use java in built method(s). This is a manual method of adding all array’s elements to List. 
 

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);
    }
}


Output: 
 

[Rahul, Utkarsh, Shubham, Neelam]

Related Article: ArrayList to Array Conversion

 



Last Updated : 26 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads