Java で ArrayList を返す共有ライブラリを使用しています。それを反復処理すると、ConcurrentModificationException がスローされる可能性があり、100% (?) 保証された安全性を探しています。以下のようなことを考えていたので、ご意見をいただければ幸いです。
data_list は、MT ライブラリから返される ArrayList<> です。
boolean pass = true;
ArrayList<Something> local = new ArrayList<Something>(256);
for (int spin=0; spin<10; ++spin)
{
try {
local.addAll(data_list);
}
catch (java.util.ConcurrentModificationException ce) {
pass = false;
}
finally {
if (pass) break;
pass = true;
}
}
変数pass
がであると仮定するとtrue
、ローカルでどのように操作すればよいですか?