Почему Comparator.comparing() в логическом значении возвращает обратный() по умолчанию?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Почему Comparator.comparing() в логическом значении возвращает обратный() по умолчанию?

Сообщение Гость »


Я написал код с использованием Comparator.comparing() и предоставил метод, возвращающий логическое значение. Сортировка должна помещать сверху (первый элемент) все, что возвращает true. Но Comparator.comparing() выводит на первое место те, которые дают ложь. Мне нужно использовать обратный(), чтобы он работал правильно.

Я провел еще один тест.

Collections.sort(list, Comparator.comparing(s -> s.isRaid() ? 1: 0)); И это приведет к появлению монстров, не являющихся рейдовыми. Почему это происходит?

public static void main(final String[] args) { окончательный список List = новый ArrayList(); для (int я = 0; я Name0 false Имя0 ложь Имя1 неверно Имя2 неверно Имя3 неверно Имя4 неверно Имя5 неверно Имя6 неверно Имя7 ложное Имя8 неверно Имя9 ложное Имя10 ложное Имя11 неверно Имя13 неверно Имя12 правда Имя14 правда А рейд (запись 12 и 14) должен быть на высоте.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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