How to get ArrayList from Stream in Java 8

Given a Stream, the task is to convert this Stream into ArrayList in Java 8.

Examples:

Input: Stream: [1, 2, 3, 4, 5]
Output: ArrayList: [1, 2, 3, 4, 5]

Input: Stream: ['G', 'e', 'e', 'k', 's']
Output: ArrayList: ['G', 'e', 'e', 'k', 's']
  1. Using Collectors.toList() method:
    1. Get the Stream to be converted.
    2. Collect the stream as List using collect() and Collectors.toList() methods.
    3. Convert this List into an ArrayList
    4. Return/Print the ArrayList

    Below is the implementation of the above approach:



    Program:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to convert Stream to ArrayList
    // using Collectors.toList() method
      
    import java.util.*;
    import java.util.stream.*;
      
    public class GFG {
      
        // Function to get ArrayList from Stream
        public static <T> ArrayList<T>
        getArrayListFromStream(Stream<T> stream)
        {
      
            // Convert the Stream to List
            List<T>
                list = stream.collect(Collectors.toList());
      
            // Create an ArrayList of the List
            ArrayList<T>
                arrayList = new ArrayList<T>(list);
      
            // Return the ArrayList
            return arrayList;
        }
      
        // Driver code
        public static void main(String args[])
        {
      
            Stream<Integer>
                stream = Stream.of(1, 2, 3, 4, 5);
      
            // Convert Stream to ArrayList in Java
            ArrayList<Integer>
                arrayList = getArrayListFromStream(stream);
      
            // Print the arraylist
            System.out.println("ArrayList: " + arrayList);
        }
    }

    chevron_right

    
    

    Output:

    ArrayList: [1, 2, 3, 4, 5]
    
  2. Using Collectors.toCollection() method:
    Approach:

    1. Get the Stream to be converted.
    2. Collect the stream as ArrayList using collect() and Collectors.toCollection() methods.
    3. Return/Print the ArrayList

    Below is the implementation of the above approach:

    Program:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to convert Stream to ArrayList
    // using Collectors.toList() method
      
    import java.util.*;
    import java.util.stream.*;
      
    public class GFG {
      
        // Function to get ArrayList from Stream
        public static <T> ArrayList<T>
        getArrayListFromStream(Stream<T> stream)
        {
      
            // Convert the Stream to ArrayList
            ArrayList<T>
                arrayList = stream
                                .collect(Collectors
                                .toCollection(ArrayList::new));
      
            // Return the ArrayList
            return arrayList;
        }
      
        // Driver code
        public static void main(String args[])
        {
      
            Stream<Integer>
                stream = Stream.of(1, 2, 3, 4, 5);
      
            // Convert Stream to ArrayList in Java
            ArrayList<Integer>
                arrayList = getArrayListFromStream(stream);
      
            // Print the arraylist
            System.out.println("ArrayList: "
                               + arrayList);
        }
    }

    chevron_right

    
    

    Output:

    ArrayList: [1, 2, 3, 4, 5]
    


My Personal Notes arrow_drop_up

Technical Content Engineer at GeeksForGeeks

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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.