程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> [Java基礎]ArrayList與LinkedList的區別和使用場景

[Java基礎]ArrayList與LinkedList的區別和使用場景

編輯:JAVA編程入門知識

  首先,ArrayList和LinkedList都是Java中常見的容器類,都實現了list接口;但是因為各自實現list接口時,采用的數據結構不一樣,導致他們在使用上存在差異。

下面就總結一下:

1. ArrayList是基於數組來實現的線性表,只不過它是可以動態擴展的。如果不指定ArrayList初始容量值,那麼其采用默認的值10;若果向ArrayList中添加對象引用時,已經無法容納時,會自動的擴展,擴展的系數為1.5;

2. ArrayList對於按照索引值查找是非常快速的,時間復雜度為O(1); 但是對於插入和刪除就有多余的移動拷貝的消耗處理,時間復雜度為O(n);

3. LinkedList是基於雙向鏈表的數據結構實現list接口,所以查找的執行效率較低,時間復雜度為O(n);

4. LinkedList對於插入和刪除,執行效率較高,時間復雜度為O(1);

5. 從存儲上看,LinkedList比ArrayList的內存消耗更高,因為每一個結點都需要有格外的兩個結點的引用來表示;

 

注:能力有限,如有錯誤,請不吝賜教!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved