Gymterview
junior

Как найти максимальное число в наборе?

Для нахождения максимального числа используется mapToInt() для перехода к примитивному стриму и метод max(), который возвращает OptionalInt:

Пример
Stream.of(5, 3, 4, 55, 2)
    .mapToInt(a -> a)
    .max()
    .getAsInt(); // 55

Альтернативные варианты: Stream.of(5, 3, 4, 55, 2).max(Comparator.naturalOrder()) возвращает Optional<Integer>, а Collections.max(list) работает с коллекциями. Метод getAsInt() бросит NoSuchElementException на пустом стриме, поэтому в production-коде безопаснее использовать orElse() или ifPresent().

На собеседовании: упомяните, что max() возвращает Optional, и что безопасная обработка пустого стрима — важная практика.