ฉันมี ArrayList ที่ฉันต้องการวนซ้ำ ในขณะที่วนซ้ำฉันต้องลบองค์ประกอบในเวลาเดียวกัน java.util.ConcurrentModificationException
เห็นได้ชัดว่านี้พ่น
แนวปฏิบัติที่ดีที่สุดในการจัดการปัญหานี้คืออะไร ฉันควรโคลนรายการก่อนหรือไม่
ฉันลบองค์ประกอบที่ไม่ได้อยู่ในลูป แต่เป็นอีกส่วนหนึ่งของรหัส
รหัสของฉันมีลักษณะเช่นนี้:
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
อาจเรียกTest.removeA()
;