我想在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