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

Почему операции в Stream называют ленивыми

Операции в Stream ленивые, потому что они не выполняются до вызова терминальной операции. Промежуточные операции (filter, map и др.) лишь формируют конвейер, а реальная обработка данных начинается только при вызове collect, forEach, reduce и т.д. Это позволяет оптимизировать выполнение, избегая лишних проходов по данным. Пример: ```java List list = Arrays.asList("a1", "a2", "b1", "c2", "c1"); list.stream() .filter(s -> s.startsWith("c")) // не выполняется сразу .map(String::toUpperCase) // не выполняется сразу .sorted() // не выполняется сразу .forEach(System.out::println); // терминальная операция - запускает весь конвейер ``` Ленивость позволяет: 1. Откладывать вычисления до необходимости 2. Оптимизировать выполнение (например, объединять операции) 3. Работать с бесконечными стримами
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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