一谓厘、數(shù)據(jù)結(jié)構(gòu)的區(qū)別
? ??ArrayList數(shù)據(jù)結(jié)構(gòu)是一個(gè)數(shù)組結(jié)構(gòu)磁浇,LinkedList數(shù)據(jù)結(jié)構(gòu)是一個(gè)雙向循環(huán)鏈表結(jié)構(gòu)求冷。
二钧大、增刪改查的區(qū)別
? ??ArrayList比LinkedList的查詢(xún)速度會(huì)更加快翰撑,ArrayList的底層采用隨機(jī)訪問(wèn)(Randomaccess)策略根據(jù)下標(biāo)查找元素,而LinkedList不支持隨機(jī)訪問(wèn)啊央,采用的是逐一查找方法眶诈。LinkedList的增、刪只需要改變node指向瓜饥,ArrayList增逝撬、刪則會(huì)對(duì)整個(gè)數(shù)組進(jìn)行重新排列,故LinkedList的增乓土、刪效率優(yōu)于ArrayList宪潮。
三溯警、內(nèi)存的區(qū)別
? ??LinkedList比ArrayList更加占內(nèi)存,LinkedList的節(jié)點(diǎn)除存儲(chǔ)數(shù)據(jù)外還存儲(chǔ)了一個(gè)指向前一個(gè)元素和一個(gè)指向后一個(gè)元素的兩個(gè)引用狡相。
四梯轻、時(shí)間復(fù)雜度的區(qū)別
? ??ArrayList根據(jù)數(shù)組下標(biāo)進(jìn)行隨機(jī)查找時(shí)間復(fù)雜度是O(1),LinkedList依靠地址指針和后一個(gè)元素進(jìn)行查找谣光,故時(shí)間復(fù)雜度為O(n)檩淋。