Встречается на собеседованиях • сегодня

В чем разница между терминальными и промежуточными операциями в Stream API

Терминальные операции в Stream API завершают поток и запускают его обработку, возвращая результат (например, `collect()`, `forEach()`, `reduce()`). Промежуточные операции (`filter()`, `map()`, `sorted()`) преобразуют поток и возвращают новый поток, позволяя строить цепочки вызовов. Пример: ```java List names = Arrays.asList("Alice", "Bob", "Charlie"); // Промежуточные операции (не выполняются сразу) Stream stream = names.stream() .filter(name -> name.length() > 3) .map(String::toUpperCase); // Терминальная операция (запускает обработку) List result = stream.collect(Collectors.toList()); ``` Ключевые отличия: - Терминальные операции вызывают выполнение потока, промежуточные — нет. - После терминальной операции поток нельзя использовать повторно. - Промежуточные операции могут быть "ленивыми" (выполняются только при вызове терминальной).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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