Bonjour,
En spécifiant le Comparator adéquat à la méthode Arrays.sort on peut s'en sortir assez facilement.
public static void display(int[][] matrix) {
int dim = matrix.length;
for (int j = 0; j < dim; j++) {
for (int i = 0; i < dim; i++) {
if (i != 0) {
System.out.print("\t");
}
System.out.print(matrix[i][j]);
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = { { 1, 8, 9 }, { 2, 1, 3 }, { 5, 9, 14 } };
display(matrix);
java.util.Arrays.sort(matrix, (c1, c2) ->
Integer.compare(c2[c2.length - 1], c1[c1.length - 1]));
display(matrix);
}
Ce qui donne bien :
1 2 5
8 1 9
9 3 14
5 1 2
9 8 1
14 9 3