Convert an Iterable to Stream in Java
Last Updated :
11 Dec, 2018
Given an Iterable, the task is to convert it into Stream in Java.
Examples:
Input: Iterable = [1, 2, 3, 4, 5]
Output: {1, 2, 3, 4, 5}
Input: Iterable = ['G', 'e', 'e', 'k', 's']
Output: {'G', 'e', 'e', 'k', 's'}
Approach:
- Get the Iterable.
- Convert the Iterable to Spliterator using Iterable.spliterator() method.
- Convert the formed Spliterator into Sequential Stream using StreamSupport.stream() method.
- Return the stream.
Below is the implementation of the above approach:
import java.util.*;
import java.util.stream.*;
class GFG {
public static <T> Stream<T>
getStreamFromIterable(Iterable<T> iterable)
{
Spliterator<T>
spliterator = iterable.spliterator();
return StreamSupport.stream(spliterator, false );
}
public static void main(String[] args)
{
Iterable<Integer>
iterable = Arrays.asList( 1 , 2 , 3 , 4 , 5 );
Stream<Integer>
stream = getStreamFromIterable(iterable);
stream.forEach(s -> System.out.println(s));
}
}
|
Share your thoughts in the comments
Please Login to comment...