ArrayList和LinkedList的區別

2022-08-30 22:12:32 字數 375 閱讀 4641

1.arraylist

arraylistextends abstractlist底層實現是個動態陣列

2.linkedlist

class linkedlistextends abstractsequentiallist是個雙向鍊錶

區別:get和set:arraylist基於動態陣列實現,get和set元素速度快,而linkedlist基於雙向鍊錶,每次get都要先通過for迴圈獲取元素的index,再返回具體的值,因此速度慢

add和remove:arraylist基於動態陣列,每次add或者remove都要移動陣列中的資料,重新排列陣列下標,因此較慢,而linkedlist基於雙向鍊錶,每次add或者remove只需要改變指標的指向即可,因此速度快。

Array List和ArrayList的區別與

定義 public abstract class array icloneable,ilist,icollection,ienumerable,istructuralcomparable,istructuraequatable 陣列在記憶體中是連續儲存的,所以它的索引速度是非常的快,而且賦值與修改元...

LinkedList和ArrayList的區別

對於集合collection下的list介面,有兩個實現類,arraylist和linkedlist,那麼他們兩個有什麼區別呢。arraylist的底層由陣列實現,而linkedlist的底層由雙向鍊錶實現,底層的不同才是他們區別的根源。然而因為他們繼承於同乙個父介面,他們的很多方法都是相同的。關於...

ArrayList和LinkedList的面試題

一 arraylist為什麼是執行緒不安全的?arraylist在新增乙個元素的時候,它可能會有兩步來完成 1.在 items size 的位置存放此元素 2.增大 size 的值。在單執行緒執行的情況下,如果 size 0,新增乙個元素後,此元素在位置 0,而且 size 1 而如果是在多執行緒情...