arraylist和linkedlist的查詢區別

ArrayList從原理上就是數據結構中的數組,也就是內存中一片連續的空間,這意味着,當我get(index)的時候,我可以根據數組的(首地址+偏移量),直接計算出我想訪問的第index個元素在內存中的位置。寫過c的話,可以很容易的理解。
LinkedList可以簡單理解爲數據結構中的鏈表(說簡單理解,因爲其實是雙向循環鏈表),在內存中開闢的不是一段連續的空間,而是每個元素有一個[元素|下一元素地址]這樣的內存結構。當
get(index)時,只能從首元素開始,依次獲得下一個元素的地址。
用時間複雜度表示的話,ArrayList的get(n)是o(1),而LinkedList是o(n)




鏈接:https://www.zhihu.com/question/61920401/answer/192522263
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章