繁体   English   中英

如何将不同大小的子数组存储到单个二维数组中

[英]How to store subarrays of different size into a single 2d array

我试图将不同大小的一维数组存储到二维数组中,然后根据子数组的总和对二维数组进行排序。

尝试这个。

int[][] arrays = {{0, 1, 2, 3}, {4}, {5, 6}, {7},};
int[][] sorted = Arrays.stream(arrays)
    .map(a -> new Object() {
        int sum = IntStream.of(a).sum();
        int[] array = a;
    })
    .sorted(Comparator.comparing(obj -> obj.sum))
    .map(obj -> obj.array)
    .toArray(int[][]::new);
System.out.println(Arrays.deepToString(sorted));

输出

[[4], [0, 1, 2, 3], [7], [5, 6]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM