具體的代碼,我不會(huì)在這里分析了.實(shí)際上,LinkedList的實(shí)現(xiàn)和ArrayList的實(shí)現(xiàn)基本相同乡摹,除了內(nèi)部的數(shù)據(jù)結(jié)構(gòu).
LinkedList內(nèi)部的數(shù)據(jù)結(jié)構(gòu)是一個(gè)雙向鏈表,它還維護(hù)了一個(gè)指向這個(gè)雙向鏈表的指針采转,分別是first和last.
LinkedList提供給我們的方法聪廉,時(shí)間復(fù)雜度基本上都是O(n).因?yàn)樾枰ㄎ坏骄唧w的節(jié)點(diǎn)的位置.除了對(duì)LinkedList最前面和最后面的元素進(jìn)行的操作.
所以說(shuō),LinkedList適合于那種只在首尾進(jìn)行操作且不確定要存儲(chǔ)的數(shù)據(jù)的大小的程序故慈,如果在中間進(jìn)行操作锄列,時(shí)間復(fù)雜度為O(n),而在首尾進(jìn)行操作惯悠,時(shí)間復(fù)雜度為O(1)邻邮,效率還是非常高的