for (String fruit : list)
{
if("banane".equals(fruit))
list.remove(fruit);
System.out.println(fruit);
}
Ici une boucle avec instruction remove. Au moment de l'exécution, je reçois une ConcurrentModificationException, en dessous de la sortie de la console:boucle sur liste avec suppression
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
at java.util.AbstractList$Itr.next(AbstractList.java:420)
at Boucle.main(Boucle.java:14)
abricot
banane
Question: Comment faire pour supprimer un élément avec une boucle?
Pour celui qui se reconnaîtra: ne pas utiliser pour avec un indice supplémentaire et list.size() !! Je voulais changer le code avec une boucle foreach et ce n'était pas la bonne solution. Le tien est celui. – enguerran
il suffit de changer 'it.hasNext()' en 'iterator.hasNext()' et c'est parfait! (évident .... mais qui sait ....) –