ArrayList和LinkedList的區別 優點 缺點 和應用場景

ArrayList 和 LinkedList

相同點

  1. 都是List接口的容器類
  2. 都用於存儲一系列對象的引用
  3. 都可以對元素進行CRUD

不同點

名稱 ArrayList LinkdeList
結構 動態數組 鏈表
應用 查詢 添加
get/set 慢(移動指針)
add/remove 慢(移動數據)

缺點

ArrayList 缺點

  1. ArrayList: 在內部構成是數組形式 增加一項內容時 有可能導致數組重新分配
    但對於 LinkedList: 這個開銷是固定的,因爲是在內存中分配一個entry然後通過指針指向
  2. ArrayList: 如果添加或者刪除一個內容時,列表中的全部對象都要進行移動.
    但對於 LinkedList:添加或者刪除一個元素時,開銷是固定的
  3. 在list列表的結尾處預留了一定的容量空間
    因爲本身的存儲結構導致的

LinkedList缺點

不支持高效的隨機訪問 因爲linkedList從開頭開始遍歷 , 每次隨機訪問都會重新遍歷

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章