How to get ArrayList from Stream in Java 8
Last Updated :
11 Dec, 2018
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']
- Using Collectors.toList() method:
- 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:
import java.util.*;
import java.util.stream.*;
public class GFG {
public static <T> ArrayList<T>
getArrayListFromStream(Stream<T> stream)
{
List<T>
list = stream.collect(Collectors.toList());
ArrayList<T>
arrayList = new ArrayList<T>(list);
return arrayList;
}
public static void main(String args[])
{
Stream<Integer>
stream = Stream.of( 1 , 2 , 3 , 4 , 5 );
ArrayList<Integer>
arrayList = getArrayListFromStream(stream);
System.out.println( "ArrayList: " + arrayList);
}
}
|
Output:
ArrayList: [1, 2, 3, 4, 5]
- 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:
import java.util.*;
import java.util.stream.*;
public class GFG {
public static <T> ArrayList<T>
getArrayListFromStream(Stream<T> stream)
{
ArrayList<T>
arrayList = stream
.collect(Collectors
.toCollection(ArrayList:: new ));
return arrayList;
}
public static void main(String args[])
{
Stream<Integer>
stream = Stream.of( 1 , 2 , 3 , 4 , 5 );
ArrayList<Integer>
arrayList = getArrayListFromStream(stream);
System.out.println( "ArrayList: "
+ arrayList);
}
}
|
Output:
ArrayList: [1, 2, 3, 4, 5]
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...