1. 程式人生 > >ArrayList 和LinkedList的區別?

ArrayList 和LinkedList的區別?

  ArrayList底層使用時陣列。LinkedList使用的是連結串列。

ArrayList:

   陣列查詢具有所有查詢特定元素比較快。而插入和刪除和修改比較慢(陣列在記憶體中是一塊連續的記憶體,如果插入或刪除是需要移動記憶體)。

LinkedList:

   連結串列不要求記憶體是連續的,在當前元素中存放下一個或上一個元素的地址。查詢時需要從頭部開始,一個一個的找。所以查詢效率低。插入時不需要移動記憶體,只需改變引用指向即可。所以插入或者刪除的效率高。

  ArrayList使用在查詢比較多,但是插入和刪除比較少的情況,而LinkedList使用在查詢比較少而插入和刪除比較多的情況。