LinkedList和ArrayList比較

LinkedList和ArrayList區別

  1. 底層數據結構不同,ArrayList底層數據結構是數組,LinkedList底層數據結構是雙向鏈表(1.7之後是雙向鏈表,1.7之前是雙向循環鏈表)
  2. ArrayList實現了RandomAccess接口,可以實現隨機訪問,而LinkedList不行
  3. LinkedList底層是雙向鏈表,所以不需要擴容,而ArrayList底層是數組,剛開始是空數組,第一次插入時數組擴容爲10個默認大小,之後是1.5倍擴容
  4. ArrayList時間複雜度 查找O(1) 增刪O(n)
    LinkedList時間複雜度 查找O(n) 增刪O(1)
  5. LinkedList可以當作隊列來使用,此時擁有隊列的特點。

相同點

都實現了list,clone和java.io.Serializable接口,所以

  1. 元素可以重複,可以爲null。
  2. 可以使用clone方法進行克隆。
  3. 可以進行序列化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章