ArrayList和LinkedList的區別


作為List的兩個實現類,他們的方法在邏輯上基本是相同的,但是由於底層數據結構的不同造成他們在使用中性能上有一定的差別。數據量比較小的時候,這種差別可以忽略不計。

  ArrayList的底層數據結構是數組(動態的),我們可以通過數組的下標輕松地一次性定位到元素,因此ArrayList在查詢操作中具有很大的優勢。但也因其底層數據結構是數組,在進行元素的插入,刪除,修改工作時,所有元素的下標都需要移動,這樣執行的復雜程度隨元素的增多而增多,運行速度自然相對較慢。

  LinkedList的底層數據結構是鏈表,在進行數據的,增加,刪除,修改工作時只需要移動元素的指針就行,改變的只是指針的地址,並不影響其他,因此在數據增刪改時,LinkedList具有絕對的優勢。但是如果需要查詢數據時,LinkedList只能遍歷,隨着數據量的增加,訪問速度會變慢。


免責聲明!

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



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