源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java集合迭代器Iterator中的remove陷阱

  • 时间:2021-02-17 20:14 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java集合迭代器Iterator中的remove陷阱
package TestList; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.TreeSet; public class TestIterator {     /**      * @param args      */     public static void main(String[] args) {         // TODO Auto-generated method stub         List<String> list = new ArrayList<String>();         list.add("aaa");         list.add("bbb");         list.add("ccc");         Iterator t = list.iterator();         while(t.hasNext()){             if(t.next().equals("bbb")){   //使用iterator遍历list集合时,如果想要删除任一集合内元素,必须要在正好遍历倒数第二个元素的时候去删除                 list.remove("ccc");             }         }                  TreeSet<String> set = new TreeSet<String>();         set.add("ddd");         set.add("eee");         set.add("fff");         Iterator t1 = set.iterator();         while(t1.hasNext()){             if(t1.next().equals("fff")){  //使用iterator遍历set集合时,如果想要删除任一集合内元素,必须要在正好遍历倒数第一个元素的时候去删除                 set.remove("eee");             }         }     } } 由于List,Set在实现Iterator时存在一定的差异,因此导致了List,Set在迭代的同时删除集合元素的会有不同的表现
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部