ホームページ > Java > &#&チュートリアル > 反復中に Java リストから要素を安全に削除するにはどうすればよいですか?

反復中に Java リストから要素を安全に削除するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-31 18:42:10
オリジナル
569 人が閲覧しました

How to Safely Remove Elements from a Java List During Iteration?

Java の Foreach ループでの Remove の呼び出し

イテレーターを使用した安全な反復

使用して反復処理中にコレクションを変更するforeach ループはエラーを引き起こす可能性があります。反復中に要素を安全に削除するには、明示的な Iterator を使用します。

List<String> names = ...
Iterator<String> i = names.iterator();
while (i.hasNext()) {
    String s = i.next();
    if (...) {
        i.remove();
    }
}
ログイン後にコピー

Concurrent Modification Exception

Iterator を使用しない場合、次の場合、コードは ConcurrentModificationException で失敗します。コレクションは反復中に変更されます。明示的なイテレータにより、変更が追跡され、基礎となるコレクションに反映されることが保証されます。

ネストされた削除に関する注意

提供された例では、内部の while ループは削除を続けます。存在しなくなるまで同じ要素を保持します。技術的には合法ですが、特別な理由がない限り、一般的には不適切な行為とみなされます。

以上が反復中に Java リストから要素を安全に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート