【发布时间】:2020-07-18 09:30:38
【问题描述】:
我想使用 java 8 将给定的二维数组转换为映射。
输入 - { { 1, 0 }, { 2, 0 }, { 3, 1 }, { 3, 2 } }
输出应该是形式
Map
以下是我的解决方案
for (int[] prereq : prerequisites) {
map.computeIfAbsent(prereq[0], k -> new ArrayList<>()).add(prereq[1]);
}
任何更好的方法,如果 for 循环可以替换为流。
【问题讨论】:
-
你的方法看起来不错。如果您使用的是 java 9+ 并且您不打算更改列表,在这种情况下,您可以执行以下更改
map.computeIfAbsent(prereq[0], k -> List.of(prereq[1]);
标签: lambda java-8 java-stream