Встречается на собеседованиях • сегодня
Можно ли два раза вызвать терминальный оператор у Stream в Stream API
Нет, терминальный оператор можно вызвать только один раз у Stream. После вызова терминального оператора стрим считается "потреблённым" и закрывается. Попытка повторного вызова любого терминального оператора (например, `collect()`, `forEach()`, `count()`) выбросит `IllegalStateException`.
Пример:
```java
Stream stream = Stream.of("a", "b", "c");
stream.count(); // терминальная операция
stream.forEach(System.out::println); // IllegalStateException
```
Если нужно повторно использовать данные, нужно создать новый Stream:
```java
List list = Arrays.asList("a", "b", "c");
list.stream().count();
list.stream().forEach(System.out::println); // ок
```

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