【发布时间】:2021-10-13 11:50:41
【问题描述】:
我有一个这样的List<List<Integer>>:
[
[3, 12, 1, 14, 10],
[3, 12, 1, 15, 10],
[3, 13, 1, 12, 10],
[3, 13, 1, 15, 10]
]
我想要这样的:(第一个元素只是 3,因为在前面的列表中,3 总是在第一位。第二个元素是 [12,13],因为在前面的列表中,12 和 13 在第二个索引等...)
[[3, [12,13], [1], [12,14,15], [10]]
Map<Integer, List<Integer>> 也是一个有价值的选择
Java 流可以做到这一点吗?
【问题讨论】:
-
我不建议用流解决这个问题。原因是我们需要按顺序处理元素,而在使用流时不能保证这一点。有一些方法可以解决这个问题,但这些方法会使解决方案更加复杂。
-
您的输出看起来不像
Map<Integer, List<Integer>>。在您发布的方式中,它更像是Collection<Set<Integer>>。
标签: arrays collections java-8 java-stream