1. 程式人生 > >ArrayList,Vcetor,LinkedList的區別

ArrayList,Vcetor,LinkedList的區別

  • 對ArrayList和LinkedList而言,在列表末尾增加一個元素所花的開銷都是固定的。對 ArrayList而言,主要是在內部陣列中增加一項,指向所新增的元素,偶爾可能會導致對陣列重新進行分配;而對LinkedList而言,這個開銷是 統一的,分配一個內部Entry物件
  • 在ArrayList的 中間插入或刪除一個元素意味著這個列表中剩餘的元素都會被移動;而在LinkedList的中間插入或刪除一個元素的開銷是固定的
  • LinkedList不支援高效的隨機元素訪問
  • ArrayList的空 間浪費主要體現在在list列表的結尾預留一定的容量空間,而LinkedList的空間花費則體現在每一個元素都需要消耗相當的空間