Встречается на 2% собеседований по Java

Какие знаешь виды операция в Stream

Stream в Java поддерживает два типа операций: промежуточные (intermediate) и терминальные (terminal).

  1. Промежуточные операции (ленивые, выполняются только при вызове терминальной операции):
    • filter(Predicate<T>) – фильтрация элементов
    • map(Function<T, R>) – преобразование элементов
    • flatMap(Function<T, Stream<R>>) – "разворачивание" вложенных структур
    • distinct() – удаление дубликатов
    • sorted() / sorted(Comparator<T>) – сортировка
    • peek(Consumer<T>) – выполнение действия без изменения стрима
  1. Терминальные операции (завершают работу стрима):
    • forEach(Consumer<T>) – выполнение действия для каждого элемента
    • collect(Collector<T, A, R>) – сбор элементов (например, в List)
    • reduce() – агрегация элементов
    • count() – подсчёт элементов
    • min()/max() – поиск минимума/максимума
    • anyMatch()/allMatch()/noneMatch() – проверка условий

Пример:

java
List<String> result = list.stream()
    .filter(s -> s.length() > 3)  // промежуточная
    .map(String::toUpperCase)     // промежуточная
    .collect(Collectors.toList()); // терминальная
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы