1. ホーム

[解決済み] `ArrayList` の反復処理中に要素を削除する際に "ConcurrentModificationException" を回避するにはどうすればよいですか?[重複している]。

2022-03-24 22:22:11

質問

の要素を削除しようとしています。 ArrayList を繰り返しながら、このように

for (String str : myArrayList) {
    if (someCondition) {
        myArrayList.remove(str);
    }
}

もちろん、私は ConcurrentModificationException を繰り返しながら、同時にリストから項目を削除しようとしたとき。 myArrayList . この問題を解決するための簡単な方法はありますか?

どのように解決するのですか?

を使用します。 Iterator を呼び出して remove() :

Iterator<String> iter = myArrayList.iterator();

while (iter.hasNext()) {
    String str = iter.next();

    if (someCondition)
        iter.remove();
}