Промежуточные операции строят ленивый pipeline и возвращают Stream; терминальная запускает обработку и выдаёт результат или побочный эффект.
Чем терминальный метод отличается от промежуточных в стриме? Какие использованы в задаче?
Промежуточные операции строят ленивый pipeline и возвращают Stream; терминальная запускает обработку и выдаёт результат или побочный эффект.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Промежуточные операции строят ленивый pipeline и возвращают Stream; терминальная запускает обработку и выдаёт результат или побочный эффект.
Например, map/filter/sorted — промежуточные, collect/count/reduce/forEach — терминальные. Если речь о показанном ранее подсчёте слов через Arrays.stream(...).map(...).forEach(...), map преобразует слова, а forEach обновляет счётчики. Без самого фрагмента нельзя перечислить его операции наверняка. Stream после терминальной операции повторно не используют; побочные эффекты внутри pipeline особенно опасны при parallel stream и общем изменяемом состоянии.