[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-kak-povedyot-sebya-uzhe-instantsiirovannyy-iterator-dlya-collection-esli-vyzvat-collection-remove":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},438,"kak-povedyot-sebya-uzhe-instantsiirovannyy-iterator-dlya-collection-esli-vyzvat-collection-remove",12,"collections","Collections","📚","Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()","При следующем вызове любого метода итератора (`next()`, `hasNext()`, `remove()`) будет выброшено `ConcurrentModificationException`. Это происходит потому, что прямая модификация коллекции изменяет значение modCount, которое перестает совпадать с expectedModCount итератора.\n\nЭто классический пример fail-fast поведения. Итератор обнаруживает, что коллекция была изменена «за его спиной», и немедленно сигнализирует об ошибке. Правильный способ удаления — через сам итератор (`iterator.remove()`) либо через использование concurrent-коллекций.\n\n> **На собеседовании:** ответ — ConcurrentModificationException. Объясните через механизм modCount vs expectedModCount.","","junior",[15,16],"основы","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":31,"featuredSnippetReady":32},"collection.remove() при активном итераторе — ConcurrentModificationException — Gymterview","При вызове collection.remove() во время итерации следующий вызов метода итератора выбросит ConcurrentModificationException. Fail-fast через modCount.","collection.remove() при активном итераторе — Gymterview","Прямая модификация коллекции при активном итераторе вызывает ConcurrentModificationException.",[25,26,27,28,29,30],"ConcurrentModificationException","Iterator","modCount","fail-fast","Java","собеседование","При следующем вызове любого метода итератора будет выброшено ConcurrentModificationException. Прямая модификация коллекции изменяет modCount, который перестаёт совпадать с expectedModCount итератора.",true]