Я использую Java и у меня есть ИНТ [] [] массив так:Java: Сортировка массива 2D на основе значений второго столбца
[ 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++;
}
}
Это просто кажется, не для печати во второй раз, независимо от того, что. Я просто не уверен, что я делаю неправильно здесь. Надеюсь, это просто легкое исправление :)
Что такое 'letter1' и' letter2' в методе 'compare (...)'? – dasblinkenlight
Возможный дубликат [Как отсортировать простой целочисленный 2-мерный массив?] (Http://stackoverflow.com/questions/7908307/how-do-i-sort-a-simple-integer-2-dimensional-array) –
Вероятно, опечатка. Его оригинальное приложение, вероятно, сортирует массивы символов. – Alain