ArrayList和LinkedList的區別如下:
1. ArrayList的實現是基於數組,LinkedList的實現是基於雙向鏈表。
2. 對於隨機訪問,ArrayList優於LinkedList,ArrayList可以根據下標以O(1)時間複雜度對元素進行隨機訪問。而LinkedList的每一個元素都依靠地址指針和它後一個元素連接在一起,在這種情況下,查找某個元素的時間複雜度是O(n)
3. 對於插入和刪除操作,LinkedList優於ArrayList,因爲當元素被添加到LinkedList任意位置的時候,不需要像ArrayList那樣重新計算大小或者是更新索引。
4. LinkedList比ArrayList更佔內存,因爲LinkedList的節點除了存儲數據,還存儲了兩個引用,一個指向前一個元素,一個指向後一個元素。