Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Stream.max()

Находит наибольший элемент потока.

Доступно с: Java 8

Синтаксис

Optional<T> max(Comparator<? super T> comparator)

Параметры

ПараметрТипОписание
comparatorComparator<? super T>Правило сравнения.

Возвращаемое значение

Optional<T>Наибольший элемент или пустой `Optional`.

Примеры

Самый старший пользователь:

record User(String name, int age) {}
 
void main() {
    var users = List.of(new User("Anna", 31), new User("Oleg", 45), new User("Ivan", 19));
    users.stream()
        .max(Comparator.comparingInt(User::age))
        .ifPresent(u -> IO.println(u.name()));
    IO.println(Stream.of(4, 9, 2).max(Integer::compare).get());
}

Результат:

Oleg
9

Примечания

У Stream метод требует компаратор. У числовых потоков (IntStream) max() вызывается без аргументов и возвращает OptionalInt. Пустой поток даёт пустой Optional, а не исключение.

См. также

  • Stream.min() — Находит наименьший элемент потока.
  • Collections.max() — Находит наибольший элемент коллекции.
  • Comparator.comparing() — Создаёт компаратор, который сравнивает объекты по одному полю.

Вопросы и ответы по теме

В учебнике

  • Операции над потоками — Основные операции Stream API — filter, map, sorted, distinct, limit, skip, count, reduce, anyMatch, findFirst и числовые потоки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.