轉 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循環
相關文章
相關標籤/搜索