溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ArrayList和LinkedList的區(qū)別是什么

發(fā)布時間:2021-06-15 14:32:51 來源:億速云 閱讀:178 作者:Leah 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關ArrayList和LinkedList的區(qū)別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

ArrayList 是一個可改變大小的數(shù)組。當更多的元素加入到ArrayList中時,其大小將會動態(tài)地增長。內(nèi)部的元素可以直接通過get與set方法進行訪問,因為ArrayList本質(zhì)上就是一個數(shù)組,

LinkedList 是一個雙鏈表,在添加和刪除元素時具有比ArrayList更好的性能.但在get與set方面弱于ArrayList。

當然,這些對比都是指數(shù)據(jù)量很大或者操作很頻繁的情況下的對比,如果數(shù)據(jù)和運算量很小,那么對比將失去意義。

 1、ArrayList和LinkedList可想從名字分析,它們一個是Array(動態(tài)數(shù)組)的數(shù)據(jù)結(jié)構,一個是Link(鏈表)的數(shù)據(jù)結(jié)構,此外,它們兩個都是對List接口的實現(xiàn)。

前者是數(shù)組隊列,相當于動態(tài)數(shù)組;后者為雙向鏈表結(jié)構,也可當作堆棧、隊列、雙端隊列

2、當隨機訪問List時(get和set操作),ArrayList比LinkedList的效率更高,因為LinkedList是線性的數(shù)據(jù)存儲方式,所以需要移動指針從前往后依次查找。

3、當對數(shù)據(jù)進行增加和刪除的操作時(add和remove操作),LinkedList比ArrayList的效率更高,因為ArrayList是數(shù)組,所以在其中進行增刪操作時,會對操作點之后所有數(shù)據(jù)的下標索引造成影響,需要進行數(shù)據(jù)的移動。

4、從利用效率來看,ArrayList自由性較低,因為它需要手動的設置固定大小的容量,但是它的使用比較方便,只需要創(chuàng)建,然后添加數(shù)據(jù),通過調(diào)用下標進行使用;而LinkedList自由性較高,能夠動態(tài)的隨數(shù)據(jù)量的變化而變化,但是它不便于使用。

5、ArrayList主要控件開銷在于需要在lList列表預留一定空間;而LinkList主要控件開銷在于需要存儲結(jié)點信息以及結(jié)點指針信息。

看完上述內(nèi)容,你們對ArrayList和LinkedList的區(qū)別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI