Удаление элементов из коллекции в Java при переборее элементов с помощью цикла foreach порождает исключение ConcurrentModificationException, так как данный путь удаления элемента не является безопасным. В этой статье описан способ безопасного удаления элементов из коллекции.
Чтобы безопасно удалить элемент из коллекции, необходимо воспользоваться итератором. Ниже приведен исчерпывающий пример удаления элемента из коллекции на примере Map:
for(Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); it.hasNext(); ) {
Map.Entry<String, String> entry = it.next();
if(entry.getKey().equals("remove_entry")) {
it.remove();
}
}