Last Updated : 11 Dec, 2018
Given an Iterator, the task is to convert it into Stream in Java.
Examples:Input: Iterator = {1, 2, 3, 4, 5} Output: {1, 2, 3, 4, 5} Input: Iterator = {'G', 'e', 'e', 'k', 's'} Output: {'G', 'e', 'e', 'k', 's'}Approach:
Below is the implementation of the above approach:
Java
// Java program to get a Stream
// from a given Iterator
import java.util.*;
import java.util.stream.*;
class GFG {
// Function to get the Stream
public static <T> Stream<T>
getStreamFromIterator(Iterator<T> iterator)
{
// Convert the iterator to Spliterator
Spliterator<T>
spliterator = Spliterators
.spliteratorUnknownSize(iterator, 0);
// Get a Sequential Stream from spliterator
return StreamSupport.stream(spliterator, false);
}
// Driver code
public static void main(String[] args)
{
// Get the Iterator
Iterator<Integer>
iterator = Arrays.asList(1, 2, 3, 4, 5)
.iterator();
// Get the Stream from the Iterator
Stream<Integer>
stream = getStreamFromIterator(iterator);
// Print the elements of stream
stream.forEach(s -> System.out.println(s));
}
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4