ArrayList與LinkedList的區別

2022-06-27 04:03:12 字數 603 閱讀 9710

1、資料結構不同

arraylist是array(動態陣列)的資料結構,linkedlist是link(鍊錶)的資料結構。

2、效率不同

當隨機訪問list(get和set操作)時,arraylist比linkedlist的效率更高,因為linkedlist是線性的資料儲存方式,所以需要移動指標從前往後依次查詢。

當對資料進行增加和刪除的操作(add和remove操作)時,linkedlist比arraylist的效率更高,因為arraylist是陣列,所以在其中進行增刪操作時,會對操作點之後所有資料的下標索引造成影響,需要進行資料的移動。

3、自由性不同

arraylist自由性較低,因為它需要手動的設定固定大小的容量,但是它的使用比較方便,只需要建立,然後新增資料,通過呼叫下標進行使用;而linkedlist自由性較高,能夠動態的隨資料量的變化而變化,但是它不便於使用。

4、主要控制項開銷不同

arraylist主要控制項開銷在於需要在llist列表預留一定空間;而linklist主要控制項開銷在於需要儲存結點資訊以及結點指標資訊。

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...