Java中如何将迭代器转换为流呢?
下文笔者讲述迭代器转换为流的方法及示例分享,如下所示
迭代器转换为流的实现思路
借助 Iterator创建一个spliterator最为流的基础进行转换 ============================================================== 首先,设置一个Interator- Iterator<Integer>iterator = Arrays.aslist(50, 100, 200, 400, 500, 1000).iterator(); 现在,我们使用了流- Stream<Integer>stream = convertIterator(iterator); 上面,方法convertIterator()用于转换。以下是方法- public static <T> Stream<T> convertIterator(Iterator<T> iterator) { return StreamSupport.stream(((Iterable) () -> iterator).spliterator(), false); }例:Iterator转换为流的示例
import java.util.stream.*; import java.util.*; public class TestClass { public static <T> Stream<T> convertIterator(Iterator<T> iterator) { return StreamSupport.stream(((Iterable) () -> iterator).spliterator(), false); } public static void main(String[] args) { Iterator<Integer>iterator = Arrays.asList(88,99,111,222,333,444).iterator(); Stream<Integer>stream = convertIterator(iterator); System.out.println("Iterator to Stream..."); stream.forEach(s -> System.out.println(s)); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。