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);   
       ...   
   }   
  內部不鎖定,    效率最高,    但是當寫多線程時要考慮並發操作的問題。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM