转 list三种遍历效率

第一种:迭代器遍历
for(Iterator<String>    it    =    list.iterator();    it.hasNext();    )    {   
       ....   
   }   
这种方式在循环执行过程中会进行数据锁定,性能稍差,同时如果你想在循环过程中去掉某个元素,只能调用it.remove方法,不能使用list.remove方法
 
第二种:增强for循环
 for(String   data    :    list)    {   
       .....   
   }   
内部调用第一种,换汤不换药,因此比Iterator慢,这种循环方式还有其他限制,不建议使用它
 
第三种:
 for(int    i=0;    i<list.size();    i++)    {   
       A    a    =    list.get(i);   
       ...   
   }   
  内部不锁定,    效率最高,    但是遍历时list.remove会导致list的索引发生变化,所以很容易出现问题
 
结论:遍历访问:使用for循环
    遍历移除:使用iterator循环
posted @ 2017-08-21 14:50  薏米仁儿  阅读(180)  评论(0编辑  收藏  举报