मेरे पास एक 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()
;