java - 如何将不同大小的子数组存储到单个二维数组中
问题描述
我正在尝试将不同大小的一维数组存储到一个二维数组中,然后根据子数组的总和对二维数组进行排序。
解决方案
尝试这个。
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]]
推荐阅读
- python - 从行中提取特定列并合并列
- corda - 使用 Corda OS RPC 客户端连接到 Corda Enterprise 节点
- php - 我有一个表图像和album_images。不需要album_images 表吗?
- css - 如何使用引导程序将 div 稍微放在图像上
- java - 如何使用 Java Optional 来防止读取未初始化的数组?
- symfony - 在更新另一个实体的同时创建一个实体
- c++ - C++ 重载 | 返回常量值的(按位或)运算符
- circleci-2.0 - circleci 过滤器分支不工作
- python - 让烧瓶应用程序中的两个页面使用相同的 html 是不好的做法吗?
- javascript - 使用 jQuery 调用 javascript 同步方法