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.doSomethingpourrait appeler Test.removeA();