Вопросы к Поиску с Алисой
Метод remove() может вызвать исключение ConcurrentModificationException при переборе списка, потому что нельзя проводить одновременно итерацию (перебор) коллекции и изменение её элементов. javarush.com
Исключение возникает, когда пытаются изменить список во время итерации по нему. javarush.com Это связано с тем, что у коллекции есть поле modCount, которое меняется каждый раз при её изменении, а у итератора — поле expectedModCount, которое изменяется только при изменении коллекции через метод итератора. javarush.com Если эти поля не совпадают, выбрасывается ConcurrentModificationException. javarush.com www.javacodegeeks.com
Чтобы избежать исключения, для удаления элементов во время перебора нужно использовать специальный объект — итератор (класс Iterator). javarush.com Он отвечает за безопасный проход по списку элементов и имеет метод remove() для удаления элемента. javarush.com