【发布时间】:2016-12-13 17:43:11
【问题描述】:
我们能否以某种方式将流拆分为 Java 中不超过 N 个元素的子流? 例如
Stream<Integer> s = Stream.of(1,2,3,4,5);
Stream<Stream<Integer>> separated = split(s, 2);
// after that separated should contain stream(1,2), stream(3,4), stream(5)
由两个流拆分的解决方案仅对 2 个流是正确的,对于 N 个流也是如此,这将非常丑陋且只写。
【问题讨论】:
-
不,你不能,不是真的。收集到实际的文字集合中,而不是流,这是可行的。
-
这是一个反复出现的XY Problem。与其问如何拆分 Stream,不如想想你真正想用 Stream(s) 做什么。问,如何从 Stream 中得到想要的结果,而不是如何拆分 Stream。
标签: java java-8 java-stream