Java Core junior

В чём разница: Stream API: что такое, промежуточные vs терминальные?

Ответ

Stream — конвейер обработки данных. Промежуточные (ленивые): filter, map, flatMap, sorted. Терминальные (запускают): collect, forEach, count, reduce. Стрим одноразовый.

Разбор: Stream — это конвейер обработки данных, а не хранилище. Промежуточные операции (filter, map, flatMap, sorted) ленивы и возвращают Stream, терминальные (collect, forEach, count, reduce) запускают конвейер и дают результат. Главная ловушка: стрим не коллекция и не переиспользуется — после терминальной операции он закрыт; collect/reduce/count — терминальные, а filter/map — промежуточные.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться