Встречается на собеседованиях • сегодня

Когда будут исполняться нетерминальные методы в Stream

Нетерминальные (промежуточные) методы в Stream выполняются лениво — только при вызове терминальной операции. Они формируют конвейер, но не обрабатывают данные до фактического запуска терминального метода. Пример: ```java List list = Arrays.asList("a1", "a2", "b1", "c2", "c1"); Stream stream = list.stream() .filter(s -> { System.out.println("filter: " + s); return s.startsWith("c"); }) .map(s -> { System.out.println("map: " + s); return s.toUpperCase(); }); // Пока ничего не выведет - stream не обработан System.out.println("Before terminal"); stream.forEach(System.out::println); // Тут выполнится весь конвейер ``` Вывод: ``` Before terminal filter: a1 filter: a2 filter: b1 filter: c2 map: c2 C2 filter: c1 map: c1 C1 ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы