您的位置:首页 > 其它

遍历List的三种方式

2012-01-04 17:39 288 查看
对List的遍历有三种方式   

    

   List<A>    list    =    new    ArrayList<A>();   

   list.add(new    A());   

   list.add(new    A());   

   ...   

    

   第一种:   

   for(Iterator<A>    it    =    list.iterator();    it.hasNext();    )    {   

       ....   

   }   

   这种方式在循环
执行过程中会进行数据锁定,    性能稍差,    同时,如果你想在寻欢过程中去掉某个元素,只能调用it.remove方法,    不能使用list.remove方法,   
否则一定出并发访问的错误.   

    

   第二种:   

   for(A    a    :    list)    {   

       .....   

   }   

   内部调用第一种,    换汤不换药,    这种循环方式还有其他限制,    不建议使用它   

    

   第三种:   

   for(int    i=0;    i<list.size();    i++)    {   

       A    a    =    list.get(i);   

       ...   

   }   

   内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list 多线程