Cómo eliminar elementos de una colección en un bucle sin ConcurrentModificationException en Java?
¡Hola a todos! Soy un desarrollador Java principiante y me encontré con un error muy extraño. Estoy escribiendo un programa simple: tengo una lista de strings y quiero eliminar todos los elementos que comienzan con la letra "A". Parece lógico, pero al ejecutarlo aparece ConcurrentModificationException.
Aquí está mi código:
```java
List list = new ArrayList<>(Arrays.asList("Apple", "Banana", "Avocado", "Cherry"));
for (String fruit : list) {
if (fruit.startsWith("A")) {
list.remove(fruit);
}
}
```
El error ocurre en la iteración después de la eliminación. He leído que no se puede modificar una colección durante un bucle for-each, pero ¿cómo eliminar elementos correctamente? Necesito modificar la lista original, no crear una nueva.
Por favor, indíquenme cómo hacerlo correctamente. ¿Cuáles son las formas seguras de eliminar elementos de una colección mientras se recorre? ¡Gracias de antemano!
<<>>
Problema: por qué ocurre ConcurrentModificationException
Te has encontrado con un problema clásico