`

对List的遍历有三种方式

阅读更多
对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);  
       ...  
   }  
   内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题! 


转载自:

http://hi.baidu.com/chen88358323/blog/item/814d542697090805908f9d24.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics