Встречается на собеседованиях • сегодня
Почему Stream называют ленивым
Stream в Java называют ленивым, потому что промежуточные операции (например, `filter`, `map`) не выполняются сразу, а откладываются до вызова терминальной операции (например, `collect`, `forEach`). Это позволяет оптимизировать обработку данных, избегая лишних вычислений.
Пример:
```java
List numbers = Arrays.asList(1, 2, 3, 4, 5);
Stream stream = numbers.stream()
.filter(n -> {
System.out.println("Filtering " + n);
return n % 2 == 0;
})
.map(n -> {
System.out.println("Mapping " + n);
return n * 2;
});
// Ничего не выведет - поток ленивый
stream.collect(Collectors.toList()); // Терминальная операция запустит выполнение
```

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