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