ArrayList與LinkedList的區別

2021-10-04 15:00:28 字數 445 閱讀 3302

arraylist: 

1.基於動態陣列的資料結構 (所謂的動態資料結果,其實就是在arraylist 原始碼當中有擴容的動作,並不是每一次新增或刪除建立新的陣列,這樣的效率也不會很低)

2.對於隨機訪問的get 和set 操作, arraylist 要優於linkedlist

3. 對於隨機操作的add 和remove,arraylist 不一定比linkedlist慢(arraylist底層由於是動態資料組,因此並不是每次add和remove的時候都需要建立新陣列)

linkedlist:

1. 基於鍊錶的資料結構

2. 對於順序操作(eg: 增強for迴圈,linkedlist不一定比arraylist 慢)

3. 對於隨機操作(eg: for(int i= 0; i< list.size(); i++) ),linkedlist 效率明顯低於 arraylist

LinkedList與ArrayList的區別

我們依然從資料結構的角度看度這個問題。從命名上可以大致猜出來linkedlist的資料結構為鍊錶,arraylist的資料結構為陣列。能夠看到這裡它們的區別就一目了然了 它們的區別大致就和陣列和鍊錶的區別是一樣的。在在查詢和刪除操作中陣列的速度要優於鍊錶,這是因為陣列是按照下標來執行這兩個操作的,而...

ArrayList與LinkedList的區別

arraylist與linkedlist的區別 arraylist和linkedlist的大致區別如下 1.arraylist是實現了基於動態陣列的資料結構,linkedlist基於鍊錶的資料結構。2.對於隨機訪問get和set,arraylist覺得優於linkedlist,因為linkedlis...

ArrayList與LinkedList的區別

關於兩者的區別,先通過兩者對資料的操作進行對比 public static void main string args end system.currenttimemillis system.out.println arraylist第一次插入資料前後時間差 end start linkedlist...