Выбор ответа Junior Лямбды и Stream API спрашивают часто обновлено
Стрим без терминальной операции
Вопрос
Что напечатает код?
List.of(1, 2, 3).stream()
.peek(x -> System.out.print(x + " "))
.map(x -> x * 2);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ничего. Промежуточные операции ленивые: peek и map только описывают конвейер.
Варианты ответа
- Ничегоправильный ответ
1 2 32 4 6- Ошибку: стрим не закрыт
Разбор
Промежуточные операции ленивые: peek и map только описывают конвейер. Без терминальной операции (toList, forEach, count...) ни один элемент не обрабатывается, поэтому ничего не печатается. Закрывать стрим из коллекции не нужно, ошибки нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.