Javaで2次元配列をソートしようとしています。最初の列は許可の種類を説明する int で、2 番目の列はアプリケーションのカテゴリを説明する別の整数です。最初の列を並べ替え、2 番目の列はそのままにしたい。たとえば、パラメーターとして [0][0] を入力すると、そのカテゴリで最も使用されているアクセス許可が返されます。
私の悪い英語で申し訳ありませんが、あなたの助けに感謝します
Javaで2次元配列をソートしようとしています。最初の列は許可の種類を説明する int で、2 番目の列はアプリケーションのカテゴリを説明する別の整数です。最初の列を並べ替え、2 番目の列はそのままにしたい。たとえば、パラメーターとして [0][0] を入力すると、そのカテゴリで最も使用されているアクセス許可が返されます。
私の悪い英語で申し訳ありませんが、あなたの助けに感謝します
使用Arrays#sort(T[],Comparator<? super T>)
機能
int array [][] = {{1,11},{2,34},{3,8},{8,4},{7,23}};
java.util.Arrays.sort(array, new java.util.Comparator<int[]>() {
public int compare(int[] a, int[] b) {
return b[0] - a[0];
}
});
お役に立てれば:
class 2DcolumnComparator implements Comparator {
private int columnToSortOn;
2DcolumnComparator(int columnToSortOn) {
this.columnToSortOn = columnToSortOn;
}
public int compare(Object o1, Object o2) {
String[] row1 = (String[])o1;
String[] row2 = (String[])o2;
return row1[columnToSortOn].compareTo(row2[columnToSortOn]);
}
}