一个二维数组,我有一个int [] []数组,像这样:Java的:排序基于第二列的值
[ 65][ 4]
[108][ 47]
[ 32][279]
[103][ 26]
[111][138]
[100][ 63]
[112][ 33] ...etc.
我需要梳理,从最小到最大,基于第二列的值。我想这个代码,也是这个网站上找到:
print(myArray);
System.out.println("==========");
Arrays.sort(myArray, new Comparator<int[]>() {
@Override
public int compare(int[] int1, int[] int2)
{
Integer number1 = int1[1];
Integer number2 = int2[1];
return number1.compareTo(number2);
}
});
print(myArray);
凡我打印方法如下:
public static void print(int[][] array) {
int k = 0;
while (array[k][0] != 0) {
System.out.println("[" + array[k][0] + "][" + array[k][1] + "]");
k++;
}
}
它只是似乎没有打印第二次,不管是什么。我只是不确定我在这里做错了什么。希望这只是一个简单的修复:)
'compare(...)'方法中的'letter1'和'letter2'是什么? – dasblinkenlight 2012-04-09 15:43:08
可能的重复[如何排序一个简单的整数2维数组?](http://stackoverflow.com/questions/7908307/how-do-i-sort-a-simple-integer-2-dimensional-array) – 2012-04-09 15:43:22
可能是一个错字。他的原始应用程序可能会对字符排列。 – Alain 2012-04-09 15:43:45