Встречается на собеседованиях • сегодня
В чем разница между Stream и циклом
Stream и цикл (например, `for` или `while`) решают схожие задачи, но имеют ключевые отличия:
1. **Читаемость** – Stream API лаконичнее для сложных операций (фильтрация, сортировка, группировка).
2. **Параллелизм** – Stream легко распараллелить (`.parallel()`), циклы требуют ручной синхронизации.
3. **Ленивость** – Stream выполняет операции только при терминальной операции (например, `collect()`), цикл работает сразу.
4. **Функциональный стиль** – Stream избегает изменяемого состояния, циклы часто используют переменные-аккумуляторы.
Пример с Stream:
```java
List filtered = list.stream()
.filter(s -> s.length() > 3)
.collect(Collectors.toList());
```
Аналог с циклом:
```java
List filtered = new ArrayList<>();
for (String s : list) {
if (s.length() > 3) {
filtered.add(s);
}
}
```
**Когда что использовать:**
- Stream – для сложных преобразований данных.
- Цикл – когда нужен полный контроль или производительность критична.

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