При обходе коллекции с использованием стандартного (fail-fast) итератора, любое изменение коллекции (добавление, удаление элементов) с помощью методов самой коллекции, а не итератора, приведет к генерации ConcurrentModificationException
.
Итератор хранит внутреннее состояние (счетчик модификаций), которое сравнивается с состоянием коллекции при каждой операции (next()
, hasNext()
). Если счетчики не совпадают, выбрасывается исключение.
Пример:
java
При обходе коллекции с использованием стандартного (fail-fast) итератора, любое изменение коллекции (добавление, удаление элементов) с помощью методов самой коллекции, а не итератора, приведет к генерации ConcurrentModificationException
.
Итератор хранит внутреннее состояние (счетчик модификаций), которое сравнивается с состоянием коллекции при каждой операции (next()
, hasNext()
). Если счетчики не совпадают, выбрасывается исключение.
Пример:
java
Register or sign in to get access to full answers for all questions from the question bank.