Встречается на собеседованиях • сегодня
В чем разница между терминальными и промежуточными операциями в 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());
```
Ключевые отличия:
- Терминальные операции вызывают выполнение потока, промежуточные — нет.
- После терминальной операции поток нельзя использовать повторно.
- Промежуточные операции могут быть "ленивыми" (выполняются только при вызове терминальной).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы