Встречается на собеседованиях • сегодня
Что может произойти при вызове метода next у итератора
Вызов `next()` у итератора без предварительной проверки `hasNext()` может привести к `NoSuchElementException`, если элементов больше нет.
Пример:
```java
List list = List.of("a", "b");
Iterator it = list.iterator();
it.next(); // "a"
it.next(); // "b"
it.next(); // NoSuchElementException
```
Также итератор может быть fail-fast (например, в `ArrayList`), и при изменении коллекции во время итерации (кроме `remove()` самого итератора) выбросится `ConcurrentModificationException`.
```java
List list = new ArrayList<>(List.of("a", "b"));
Iterator it = list.iterator();
list.add("c"); // Модификация коллекции
it.next(); // ConcurrentModificationException
```
Всегда проверяйте `hasNext()` перед `next()`!

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