首頁技術(shù)文章正文

ArrayList和LinkedList有什么區(qū)別?

更新時間:2022-05-20 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班


ArrayList和LinkedList都實現(xiàn)了List接口,他們有以下的不同點:

·ArrayList是基于索引的數(shù)據(jù)接口,它的底層是數(shù)組。它可以以0(1)時間復(fù)雜度對元素進行隨機訪問。與此對應(yīng),LinkedList是以元素列表的形式存儲它的數(shù)據(jù)。

每一個元素都和它的前一個和后一個元素鏈接在一起,在這種情況下,查找某個元素的時間復(fù)雜度是0(n)。

·相對于ArrayList,LinkedList的插入,添加,刪除操作速度更快,因為當元素被添加到集合任意位置的時候,不需要像數(shù)組那樣重新計算大小或者是更新索引。

·LinkedList比ArrayList更占內(nèi)存,因為LinkedList為每一個節(jié)點存儲了兩個引用,一個指向前一個元素,一個指向下一個元素。

分享到:
在線咨詢 我要報名
和我們在線交談!