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

В чем разница между 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 – для сложных преобразований данных. - Цикл – когда нужен полный контроль или производительность критична.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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