আমার একটি অ্যারেলিস্ট রয়েছে যা আমি পুনরাবৃত্তি করতে চাই। এটির পুনরাবৃত্তি করার সময় আমাকে একই সাথে উপাদানগুলি সরিয়ে ফেলতে হবে। স্পষ্টতই এটি একটি ছুড়ে দেয় 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()
;