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

С какого места начинает выполняться Stream

Stream начинает выполняться только при вызове терминальной операции (terminal operation). Промежуточные операции (intermediate operations) просто формируют конвейер, но не запускают обработку данных. Пример: ```java List list = Arrays.asList("a", "b", "c"); Stream stream = list.stream() // источник .filter(s -> s.startsWith("a")) // промежуточная операция .map(String::toUpperCase); // промежуточная операция // Пока нет терминальной операции - ничего не выполняется stream.forEach(System.out::println); // терминальная операция ``` Только при вызове `forEach()`, `collect()`, `count()` и других терминальных операций начинает выполняться весь конвейер. Это называется "ленивой" (lazy) обработкой.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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