Мне нужно отсортировать такой массив по убыванию элементов первого столбца. В случае равенства элементов в первом столбце элементы второго столбца должны быть отсортированы в порядке возрастания. Но это то, что мне нужно еще, чтобы проверить и положить пустую строку в конец матрицы, и строки с одним элементом, помещенным до того же самого, который имеет больше элементов. Например, в этом массиве {3}
- это первая строка, {}
- последняя.
int[][] arr = {{1, 2, 3}, {}, {3}, {1, 4}, {3, 2}, {3, 3, 5}};
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0] == o2[0])
return o1[1] - o2[1];
return o2[0] - o1[0];
}
});
for (int[] ints : arr) {
for (int anInt : ints) {
System.out.print(anInt + " ");
}
System.out.println();
}