1. 程式人生 > >java中ArrayList和LinkedList區別

java中ArrayList和LinkedList區別

插入 list 新的 查找 arr tro 基於 列表 時間復雜度

ArrayList和LinkedList最主要的區別是基於不同數據結構

ArrayList是基於動態數組的數據結構,LinkedList基於鏈表的數據結構,針對這點,從時間復雜度和空間復雜度來看主要區別:

1.時間復雜度

對於隨機訪問,ArrayList通過索引快速定位元素位置;而LinkedList需要對列表中元素挨個查找。所以ArrayList快於LinkedList

對於刪除插入操作,ArrayList需要對數組重新排序,而且在數組裝滿的時候要將所有的數據重新裝入一個新的數組;LinkedList只需添加一項Entry對象。所以LinkedList快於ArrayList

2.空間復雜度

LinkedList需要更多的內存,因為ArrayList的每個索引的位置是實際的數據,而LinkedList中的每個節點中存儲的是實際的數據和前後節點的位置

引用:

http://pengcqu.iteye.com/blog/502676

http://www.importnew.com/6629.html

java中ArrayList和LinkedList區別