cars.max((s1, s2) -> s1.getPrice() - s2.getPrice());
а почему мы отнимаем чтобы узнать максимальное число?
Anonymous #2632922
35 уровень
объясните пожалуйста
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Xostl
22 марта 2022, 17:32
Метод max() сравнивает элементы потока с помощью объекта comparator, т.е. использует метод int compare(T obj1, T obj2) в котором если возвращается положительное число, то obj1 > obj2.
Я это так понял.
+1
Anonymous #2632922
22 марта 2022, 18:15
А почему мы пишем реализацию?
0
KIRAРазработчик в prosv.ruExpert
22 марта 2022, 18:44
Тут тоже самое, только вывод добавлен для наглядности
Вывод:
Сравниваем числа: 1 и 2
Результат: число1 - число2 = -1
Сравниваем числа: 2 и 3
Результат: число1 - число2 = -1
Сравниваем числа: 3 и 23
Результат: число1 - число2 = -20
Сравниваем числа: 23 и 7
Результат: число1 - число2 = 16
Сравниваем числа: 23 и 26
Результат: число1 - число2 = -3
Сравниваем числа: 26 и 4
Результат: число1 - число2 = 22
26
+1