将这两个Java流合并为一个

问题描述 投票:-1回答:1

是否有可能将方法中的两个流合并为一个,所以只有一条return语句行?该方法应计算给定的二维双精度数组中每个的和,该数组具有哪种结构无关紧要,但该数组至少包含一个元素,并且允许非空行。非常感谢。 public static double[] sumUpCols(double[][] x) { double[][] a = Stream.of(x).sorted((a0, a1) -> a1.length - a0.length).toArray(double[][]::new); return IntStream.range(0, a[0].length) .mapToDouble(i -> IntStream.range(0, a[i].length).mapToDouble(j -> a[j][i]).sum()).toArray(); } public static void main(String[] args) { double[][] x = { { 1 }, { 2, 3 }, { 4, 5, 6 } }; System.out.println(Arrays.toString(sumUpCols(x))); }

是否有可能将方法中的两个流合并为一个,所以只有一条return语句行?该方法应在给定的二维中计算每列的总和...
java lambda stream
1个回答
0
投票
您不需要先收集到数组;您可以在排序后简单地映射到内部数组的总和:
© www.soinside.com 2019 - 2024. All rights reserved.