【发布时间】:2021-04-08 00:34:57
【问题描述】:
这是我的清单:
List<Integer> mylist = Arrays.asList(1,2,3,4,5,6,7,8,9,10,11,12);
假设我的列表总是偶数,那么我想将它分成 6 个相等的部分。
作为草图列出:
[1,2,3,4,5,6,7,8,9,10,11,12]
输出草图:
[[1,2][3,4],[5,6],[7,8],[9,10],[11,12]]
如果可能的话,我更喜欢使用 Java 8 流 flatMap 的解决方案
【问题讨论】:
-
Stream-操作,就其性质而言,should be stateless。执行的任务本质上需要状态。这两个想法是冲突的。我建议不要使用Streams 来执行此任务。 -
flatMap带走分裂;它没有把它们放进去。但更重要的是,流无法做到这一点。 -
那我应该用什么?
-
有很多可能性。我首先想到的是使用常规的
for-loop。 -
有没有办法用函数式编程来做到这一点?
标签: java list split functional-programming java-stream