Встречается на собеседованиях • сегодня
В чем разница между работой со 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).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы