J'ai une ArrayList sur laquelle je veux répéter. Tout en itérant dessus, je dois supprimer des éléments en même temps. De toute évidence, cela jette un java.util.ConcurrentModificationException
.
Quelle est la meilleure pratique pour gérer ce problème? Dois-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()
;