Java 反復例外 (IterationException) を解決する解決策
Java でプログラミングをしていると、反復例外 (IterationException) の問題によく遭遇します。この例外は通常、イテレータまたは拡張 for ループを使用してコレクションまたは配列を走査するときに発生します。
反復例外の理由は、通常、反復プロセス中のコレクションまたは配列の変更によるものです。これにより、反復中に無効なインデックスまたはポインタが発生し、例外がスローされる可能性があります。この問題を解決するには、次のような方法が考えられます。
以下は、通常の for ループを使用して反復例外を解決するサンプル コードです。
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (int i = 0; i < list.size(); i++) { if (list.get(i) == 2) { list.remove(i); } } System.out.println(list); // 输出 [1, 3]
以下は、イテレータの Remove() メソッドを使用して反復例外を解決するサンプル コードです。
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); Iterator<Integer> iterator = list.iterator(); while(iterator.hasNext()) { int num = iterator.next(); if(num == 2) { iterator.remove(); } } System.out.println(list); // 输出 [1, 3]
以下は、同時コレクションを使用して反復例外を解決するためのサンプル コードです:
ConcurrentList<Integer> list = new ConcurrentList<>(); list.add(1); list.add(2); list.add(3); for (Integer num : list) { if (num == 2) { list.remove(num); } } System.out.println(list); // 输出 [1, 3]
概要:
Java プログラミングでは、反復例外は一般的な問題です。この問題を解決するには、拡張された for ループの代わりに通常の for ループを使用するか、イテレータの Remove() メソッドを使用するか、同時コレクションを使用します。これらの方法は、反復例外の発生を回避し、プログラムを正しく実行するのに役立ちます。
どの方法を使用する場合でも、反復プロセス中の例外を避けるために、反復プロセス中にコレクションまたは配列を変更しないように注意する必要があります。合理的なコーディング標準と慎重なコードレビューも、反復異常を回避するための重要な手段です。
以上がJava 反復例外 (IterationException) を解決するソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。