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

В чем разница между работой со stream и циклом

Stream API в Java предоставляет декларативный подход к обработке данных, в то время как циклы (for, while) — императивный. **Основные отличия:** 1. **Читаемость** — Stream API лаконичнее, особенно при цепочных операциях (filter, map, reduce). 2. **Ленивость** — Stream выполняет операции только при терминальной операции (collect, forEach). 3. **Параллелизм** — Stream легко распараллелить (.parallel()), циклы требуют ручной синхронизации. 4. **Иммутабельность** — Stream не изменяет исходные данные, циклы часто работают с изменяемым состоянием. **Пример:** ```java // Цикл List evenNumbers = new ArrayList<>(); for (int num : numbers) { if (num % 2 == 0) evenNumbers.add(num); } // Stream List evenNumbers = numbers.stream() .filter(num -> num % 2 == 0) .collect(Collectors.toList()); ``` **Когда использовать:** - **Stream** — для сложных преобразований данных, особенно в функциональном стиле. - **Циклы** — когда нужен полный контроль над итерациями или ранний выход (break).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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