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:
Approach:
- Get the Stream to be converted.
- Collect the stream as List using collect() and Collectors.toList() methods.
- Convert this List into an ArrayList
- Return/Print the ArrayList
Below is the implementation of the above approach.
Program:
// Java program to convert Stream to ArrayList
// using Collectors.toList() method
import java.util.*;
import java.util.stream.*;
public class GFG {
// 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 = new ArrayList<Integer>(stream.collect(Collectors.toList()));
// Print the arraylist
System.out.println("ArrayList: " + arrayList);
}
}
Output
ArrayList: [1, 2, 3, 4, 5]
Explanation of the Program:
- This Java program demonstrates converting a Stream to an ArrayList using the
Collectors.toListmethod. - In the
mainmethod, a Stream of integers is created and then collected into a List, which is used to initialize an ArrayList. - The resulting ArrayList is then printed to the console.
2. Using Collectors.toCollection() method:
Approach:
- Get the Stream to be converted.
- Collect the stream as ArrayList using collect() and Collectors.toCollection() methods.
- Return/Print the ArrayList
Below is the implementation of the above approach.
Program:
// 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);
}
}
Output
ArrayList: [1, 2, 3, 4, 5]
Explanation of the Program:
- This Java program converts a Stream to an ArrayList using the
Collectors.toCollectionmethod. - The
getArrayListFromStreamfunction takes a Stream as input, collects its elements into an ArrayList, and returns it. - In the
mainmethod, a Stream of integers is converted into an ArrayList and printed.