今天小編給大家分享的是java中arraylist與linkedlist區(qū)別是啥,相信很多人都不太了解,為了讓大家更加了解arraylist與linkedlist區(qū)別,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會有所收獲的哦。
區(qū)別如下:
ArrayList和LinkedList都實現(xiàn)了List接口。但是在數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)上ArrayList是數(shù)組,LinkedList是雙向鏈表,所以LinkedList比ArrayList會更耗內(nèi)存,因為它一個節(jié)點要存兩個引用,一個指向上一個元素,一個指向下一個元素。而數(shù)組查找元素的時間復(fù)雜度是O(1),鏈表查找元素的時間復(fù)雜度是O(n),所以查詢多的情況下,ArrayList比LinkedList更適合。
那么如果是增刪操作呢?
只要不是首尾的增加或刪除操作,那么LinkedList的效率就是比ArrayList高,因為ArrayList進行增刪操作后,數(shù)組內(nèi)就會有一些數(shù)據(jù)會受到影響,需要更換下標(biāo),影響的數(shù)據(jù)范圍越廣,效率越低。
關(guān)于java中arraylist與linkedlist區(qū)別是啥就分享到這里了,希望以上內(nèi)容可以對大家有一定的參考價值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。