Java Core middle

Stream API: что произойдёт при двух терминальных операциях?

Ответ

IllegalStateException: stream has already been operated upon or closed. Стрим одноразовый — после терминальной операции закрывается. Если нужно два результата — пересоздайте стрим или используйте Collectors (например, teeing/groupingBy).

Разбор: Стрим одноразовый: после первой терминальной операции он считается использованным/закрытым, и повторный вызов бросает IllegalStateException: stream has already been operated upon or closed. Это runtime-исключение, а не ошибка компиляции. Чтобы получить несколько результатов, нужно либо пересоздать стрим, либо использовать Collectors (например, teeing/groupingBy).

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

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