Как хранить подмассивы разного размера в одном 2d-массиве

#java

#java

Вопрос:

Я пытаюсь сохранить одномерный массив разного размера в 2d-массив, а затем отсортировать 2d-массив на основе суммы подмассива.

Комментарии:

1. ОК. Как вы хотите получить данные?

Ответ №1:

Попробуйте это.

 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]]