集合區別(list和linkedlist的區別)?


1.list和linkedlist都是有序可重復,為什么還要用linkedlist呢?

數組和數組列表都有一個重大的缺陷,這就是從數組的中間位置刪除一個元素需要付出很大的代價,其原因是數組中處於被刪除元素之后的所有元素都要向數組的前端移動。在數組的中間的位置插入一個元素也是如此。如下圖:

這個問題就靠LinkedList(鏈表)來解決。鏈表將每個對象存放在獨立的節點中,每個節點還存放着序列中上一個節點的引用和下一個節點的引用,如下圖:

   ArrayList是實現了基於動態數組的數據結構,LinkedList基於鏈表的數據結構。

   對於隨機訪問get和set,ArrayList覺得優於LinkedList,因為LinkedList要移動指針。

   對於新增和刪除操作add和remove,LinedList比較占優勢,因為ArrayList要移動數據。


免責聲明!

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



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