4つの方法の要素のリストをドロップするループ

一つの方法:

/ ** 
  *リスト内の要素を削除するために直接使用するforeachメソッドが例外をスローします
  *スレッドの例外「メイン」java.util.ConcurrentModificationExceptionがの
  問題*このアプローチであることを、あなたは要素を削除した後、リストのサイズが変更、あなたのインデックスが変更されると、
  *そのときトラバーサルあなたには、いくつかの要素を欠場する原因となります。
  *最初の2つの要素への継続的なアクセスに基づくインデックスは、後者の要素が削除されている間の関係は前進1を移動しているので、あなたが、最初の要素を削除する例については、
  *ので、実際の訪問は、第三の要素です。
  *したがって、このアプローチは、使用される特定の要素を削除するために使用されるが、ループ要素複数の削除、使用時には適さないことができます。
  * / 
パブリック 静的 ボイドメイン(文字列[]引数){ 
    リスト一覧= <文字列> 新しい新規のArrayList <> (); 
    List.add( "AA" ); 
    List.add( "BB" ); 
    List.add(「CC " );
     のための(文字列str:
        もし( "AA" .equals(STR)){ 
            list.remove(STR)。
        } 
    } 
    のSystem.out.println(はlist.size())。
}

第二の方法:

パブリック 静的 ボイドメイン(文字列[]引数){ 
    リストの<string>リスト= 新規のArrayList <> (); 
    list.add( "AA" ); 
    list.add( "BB" ); 
    list.add( "CC" )。
    反復子は、 <文字列>は= list.iteratorを();
    一方、(it.hasNext()){ 
        文字列str = (文字列)it.next();
        もし( "AA" .equals(STR)){ 
            it.remove()。
        } 
    } 
    のSystem.out.println(はlist.size())。
}

三つの方法:

パブリック 静的 ボイドメイン(文字列[]引数){ 
    リストの<string>リスト= 新規のArrayList <> (); 
    list.add( "AA" ); 
    list.add( "BB" ); 
    list.add( "CC" )。
    INT I =はlist.size() - 1; I> = 0; i-- ){ 
        文字列str = list.get(I)。
        もし( "CC" .equals(STR)){ 
            list.remove(STR)。
        } 
    } 
    のSystem.out.println(はlist.size())。
}

4つの方法:

パブリック 静的 ボイドメイン(文字列[]引数){ 
    リストの<string>リスト= 新規のArrayList <> (); 
    list.add( "AA" ); 
    list.add( "BB" ); 
    list.add( "CC" )。
    INT I =はlist.size() - 1; I> = 0; i-- ){ 
        文字列str = list.get(I)。
        もし( "CC" .equals(STR)){ 
            list.remove(STR)。
        } 
    } 
    のSystem.out.println(はlist.size())。
}

おすすめ

転載: www.cnblogs.com/JimmyThomas/p/12105266.html