Найдите максимум элементов int, используя ссылку на метод

Я только изучаю лямбда-выражения и stream(). Мне нужно написать метод для класса с именем ProgTetelek, который находит максимальное значение элементов списка. Ограничения таковы: я должен избегать использования ключевых слов for и if, метода add() и вложенных классов, но я должен использовать stream() и ссылку на метод. Тип возвращаемого значения метода должен быть необязательным. Кто-нибудь знает, как это решить? Решения и хорошие туториалы тоже приветствуются :)

Самым простым решением было бы это, но оно не использует ссылку на метод...

public class Progtetelek {
    public static Optional<Integer> getMax(List<Integer> lista) {
        return lista.stream()
                .max(Comparator.comparing(i -> i));
    }
}

Предписанный вызов метода

List<Integer> lista = new ArrayList<Integer>();
lista.addAll(Arrays.asList(1, 5, 8, 7, 34, 23, 11, 84, 56));
System.out.println("Legnagyobb elem: " + ProgTetelek.getMax(lista).get());

да, это... Я был ненаблюдателен, извините.

tykhaytschaar 21.05.2019 13:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать Integer::compare:

public static Optional<Integer> getMax(List<Integer> lista) {
    return lista.stream()
                .max(Integer::compare);
}

Другие вопросы по теме