例如,我想创建一个无限的几十个组的流,如下所示:
0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
1=[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
2=[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
...
我想使用inifinte int流作为输入,然后应将其分组。如果第一个流迭代10次,则结果流应该仅迭代一次。
我的工作但不是很优雅的代码如下所示:
// create a stream from 0 (inclusive) to 100 (exclusive)
IntStream.iterate(0, i -> i+1).boxed().limit(100)
// slow down
.peek((i) -> {try {Thread.sleep(50);} catch (InterruptedException e) {}})
// group by tens
/* ugly: */.collect(Collectors.groupingBy(i -> i / 10)).entrySet()
/* not working: */ //.makeSequentialGroups(i -> i / 10)
// print to console
.forEach(System.out::println);
如何在不收集和重新流式传输的情况下将一组int流式传输?(即使有可能,甚至不必使用拳击)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句