Встречается на собеседованиях • сегодня
В какой момент выполняются промежуточные методы в Stream
Промежуточные (intermediate) методы в Stream выполняются **лениво** (lazy) — только при вызове терминальной операции. Они не выполняются сразу, а формируют конвейер операций, который активируется терминальным методом (например, `collect()`, `forEach()`, `count()`).
Пример:
```java
List list = List.of("a", "b", "c");
list.stream()
.filter(s -> {
System.out.println("filter: " + s); // Не выполнится без терминальной операции
return true;
})
.forEach(System.out::println); // Активирует весь конвейер
```
Вывод:
```
filter: a
a
filter: b
b
filter: c
c
```
**Важно:** Порядок выполнения строго последовательный для каждого элемента, а не "все фильтры сразу".

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