一個二維數組,我有一個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