Ошибка ConcurrentModificationException при модификации коллекций в Java возникает из-за попытки изменить структуру коллекции во время её итерации. 2 Это может произойти, если коллекция модифицируется через другой поток или даже в том же потоке. 2
Некоторые ситуации, когда возникает исключение:
Кроме того, исключение может возникнуть, если методы одного потока пытаются нарушить контракт объекта. 15
Чтобы избежать ошибки, можно использовать метод remove() итератора, который позволяет корректно модифицировать коллекцию без нарушения её структуры. 2