Метод, который вы можете использовать, является одним из Arrays.sort () , где вы определяете свой собственный компаратор, который может сравнивать две строки двумерного массива.
Приведенный ниже код выделяет массив из двух столбцов и десяти строк, причем первый столбец отсортирован, а второй - полностью случайным образом. Затем сортирует его по второму столбцу.
class Test{
static void print(int[][] a){
for (int i=0;i<a.length;i++){
for (int j=0;j<a[0].length;j++)
System.out.print(a[i][j]+" ");
System.out.println();
}
}
public static void main(String[]args){
java.util.Random r = new java.util.Random();
int[][] a = new int[10][2];
for (int i=0;i<a.length;i++){
a[i][0]=i+1;
a[i][1]=r.nextInt(100);
}
print(a);
System.out.println();
java.util.Arrays.sort(a,
new java.util.Comparator<int[]>(){
public int compare(int[]a,int[]b){
return a[1]-b[1];
}
});
print(a);
}
}
Пример вывода:
1 8
2 49
3 82
4 89
5 8
6 0
7 83
8 89
9 8
10 46
6 0
1 8
5 8
9 8
10 46
2 49
3 82
7 83
4 89
8 89