JAVAでリスト中の要素を循環削除する方法のまとめ(転載)

1315 ワード

転載先:https://www.cnblogs.com/pcheng/p/5336903.html
JAVAでリストの要素を循環削除する方法のまとめ
印象ではlistの要素をループ削除してforループを使用する方法は問題ありますが、強化されたforループを使用することができます.そして、今日は使用中にエラーが報告されていることに気づき、科学普及してから、これがエラーであることに気づきました.次にお話しします.の手を伸ばす党は直接文末に跳ぶことができる.まとめを見る.
JAVAではループスルーリストには、forループ、強化forループ(いわゆるforeachループ)、iteratorループの3つの方式がある.
 
1、for循環遍歴list
for(int i=0;i 
  

    , ,list , , 。 1 , 2 , , 3 。 , , 。

2、 for

for(String x:list){
    if(x.equals("del"))
        list.remove(x);
}

 この の は、エレメントを した もループを けるとエラーメッセージが されるということです.ただし、 が したらすぐにbreakを してジャンプすると、エラーはトリガーされません.
 
3、iterator
Iterator it = list.iterator();
while(it.hasNext()){
    String x = it.next();
    if(x.equals("del")){
        it.remove();
    }
}

この は なループと が である.ただし、iteratorのremoveメソッドを すると、listのremoveメソッドを すると、 のConcurrentModificationExceptionエラーが に されます.
 
まとめ:
(1)リスト の の をループ する は,3つの のいずれかを いることができるが, は の の に する.
(2)リスト の の をループ する は、 iterator を する があります.