Tekrarlamak istediğim bir ArrayList'im var. Üzerinde yineleme yaparken aynı zamanda elemanları kaldırmak zorundayım. Açıkçası bu a atar java.util.ConcurrentModificationException
.
Bu sorunu çözmek için en iyi uygulama hangisidir? Önce listeyi klonlamalı mıyım?
Döngünün kendisi değil kodun başka bir parçasındaki öğeleri kaldırırım.
Kodum şöyle görünüyor:
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
arayabilir Test.removeA()
;