-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathIteratorToStream.java
More file actions
38 lines (27 loc) · 1.05 KB
/
IteratorToStream.java
File metadata and controls
38 lines (27 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package StreamExamples;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public class IteratorToStream
{
public static void main(String[] args)
{
//JAVA 8
Iterator<String> iterator1 = Arrays.asList("a", "b", "c").listIterator();
//Extra step to get Spliterator
Spliterator<String> splitItr = Spliterators
.spliteratorUnknownSize(iterator1, Spliterator.ORDERED);
// Iterator -> Stream
StreamSupport.stream(splitItr, false).forEach(e->System.out.print(e+" "));
System.out.println();
//JAVA 9
Iterator<String> iterator2 = Arrays.asList("a", "b", "c")
.listIterator();
Stream.generate(() -> null).takeWhile(x -> iterator2.hasNext())
.map(n -> iterator2.next()).forEach(e->System.out.print(e+" "));
System.out.println();
}
}