【发布时间】:2020-10-11 06:55:54
【问题描述】:
我下面有二维数组
5.0 5.0 100 99
5.5 5.5 101 100
6.0 6.0 102 101
我想要下面的预期输出
5.0 100 99
5.5 101 100
6.0 102 101
我已经尝试过,我已将一维数组传递给我的自定义函数,该函数将一维数组转换为二维数组,最终输出为finalArr,我进一步将其传递给stream 函数并映射为列表并查找独特的
String finalArr[][] = convert1DTo2DArray(arr3, 3, 4);
Arrays.stream(finalArr)
.map(Arrays::asList)
.distinct()
.forEach(row -> System.out.printf("%-3s%-7s%s\n", row.get(0), row.get(1), row.get(2)));
输出:
5.05.0 100
5.55.5 101
6.06.0 102
经过一些解决方法,我设法得到了
5.0 100 99
5.5 101 100
6.0 102 101
通过此代码:
Arrays.stream(finalArr)
.map(Arrays::asList)
.distinct()
.forEach(row -> System.out.printf("%-5s%-7s%s\n", row.get(1), row.get(2), row.get(3)));
现在我想将它收集为二维数组,有没有更好的方法,请建议。
【问题讨论】:
标签: java arrays java-stream