J'ai une liste de tableaux que je veux parcourir par itération. Pendant cette itération, je dois supprimer des éléments en même temps. Évidemment, cela génère un java.util.ConcurrentModificationException
.
Quelle est la meilleure pratique pour gérer ce problème ? Devrais-je d'abord cloner la liste ?
Je supprime les éléments non pas dans la boucle elle-même mais dans une autre partie du code.
Mon code ressemble à ceci :
public class Test() {
private ArrayList<A> abc = new ArrayList<A>();
public void doStuff() {
for (A a : abc)
a.doSomething();
}
public void removeA(A a) {
abc.remove(a);
}
}
a.doSomething
pourrait appeler Test.removeA()
;