Java Core middle
Stream API: промежуточные vs терминальные операции. Что такое ленивость?
Ответ
Промежуточные (filter, map) не выполняются до вызова терминальной (collect, forEach).
Разбор: Ленивость значит, что промежуточные операции (filter, map) только формируют конвейер и не обрабатывают элементы, пока не вызвана терминальная (collect, forEach). Это даёт оптимизации вроде short-circuit (findFirst, limit) и обход элементов за один проход. Ловушка: ленивость не про потоки и не про кэширование результата — стрим одноразовый и повторно не используется.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.