我想在java中排序2d數組。第一列是描述一種權限的int,第二列是描述應用程序類別的另一個整數。 我想排序第一列離開第二個,因爲它是。 因此,例如,如果我把參數[0] [0],我將返回該類別中最常用的權限。排序java中的多維數組
對不起我的英文不好,並感謝您的幫助
我想在java中排序2d數組。第一列是描述一種權限的int,第二列是描述應用程序類別的另一個整數。 我想排序第一列離開第二個,因爲它是。 因此,例如,如果我把參數[0] [0],我將返回該類別中最常用的權限。排序java中的多維數組
對不起我的英文不好,並感謝您的幫助
希望這有助於:
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]);
}
}
顯示某人如何使用比較器可能很有用。即。 Arrays.sort() –
雖然'Comparator'可能是要走的路(我有一種感覺OP已經遺漏了一些重要信息),通常使用通用版本更好。 –
使用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];
}
});
你可以添加一些代碼,你可能已經嘗試? – Vinit
[Sorting Java Multidimensional Array]可能重複(http://stackoverflow.com/questions/10076982/sorting-java-multidimensional-array) – Mike