Компаратор для строковых 2D-массивов работает по-другому при сравнении 2D-целочисленного массива.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Компаратор для строковых 2D-массивов работает по-другому при сравнении 2D-целочисленного массива.

Сообщение Anonymous »


У меня есть двумерный массив строк. Его следует хранить таким образом, чтобы его можно было сортировать по убыванию второго элемента массива, а если есть связь, то лексикографически по первому элементу. Мой Java-код выглядит следующим образом:

String arr[][] = новая строка[][]{{"/dir/dir/file1","12"}, {"/dir/file1", "23"}, {" /каталог/каталог/файл2","3"},{"/каталог/файл2", "23"}}; Arrays.sort (arr, (a1,b1)-> a1[1]==b1[1]? a1[0].compareTo(b1[0]) : b1[1].compareTo(a1[1])) ; Результат: введите сюда описание изображения

Однако, когда я пробую тот же код для целочисленного 2D-массива для вышеуказанного условия.

int a[][] = new int[][]{{3,5},{2,4},{4,6},{0,6}}; Arrays.sort(a,(a1,b1)-> a1[1]==b1[1]? a1[0]-b1[0]: b1[1]-a1[1]);< /п> Выход: введите сюда описание изображения

Я действительно не понимаю, что здесь не так. Я был бы признателен, если бы кто-нибудь объяснил мне разницу.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»