ArrayList 和 LinkedList 區別

  1. ArrayList的實現是基於數組,LinkedList的實現是基於雙向鏈表。
  2. 對於隨機訪問,ArrayList優於LinkedList
  3. 對於插入和刪除操做,LinkedList優於ArrayList
  4. LinkedList比ArrayList更佔內存,由於LinkedList的節點除了存儲數據,還存儲了兩個引用,一個指向前一個元素,一個指向後一個元素。

補充:ArrayList 使用一個內置數組來存儲元素,起始容量是10,當數組須要擴容時,擴容公式:(old * 3) / 2 + 1,也就是說每次容量會增長 50%。這意味着若是包含大量元素,將會浪費很大的空間。這種浪費是由 ArrayList 自己決定的。數組

相關文章
相關標籤/搜索