Conversion of Array To ArrayList in Java

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.
filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate how to add
// one or more element(s) to returned
// resizeable 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);
    }
}

chevron_right


[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:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output :

[Rahul, Utkarsh, Shubham, Neelam]

Adding null to the list
Note : If the specified collection or specified array is null then it throw NullpointerException.

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Adding null to the end of list

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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 covert 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.
filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

[Rahul, Utkarsh, Shubham, Neelam]

Related Article: ArrayList to Array Conversion

This article is contributed by Nitsdheerendra. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up