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']
- 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:
// 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);
}
}
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:
// 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]
Please Login to comment...