序言
寫的ArrayList源碼分析這篇文章,第一次登上首頁,真是有點(diǎn)開心啊,再接再厲。這只是第一步,希望以后寫的文章更多的登上首頁,讓更多的人看到,共同學(xué)習(xí),能幫助到別人就最好不過了。開始這一系列的第二篇文章吧,LinkedList。
--WH
補(bǔ)充內(nèi)容
首先要知道一種數(shù)據(jù)結(jié)構(gòu),就是鏈表,什么樣的形式是鏈表呢?推薦博文:http://www.jianshu.com/p/681802a00cdf
注意:上面推薦博文中的大部分是可以參考的,但是他寫這篇博文的時(shí)候,是在很久之前了,所以他里面介紹的linkedList是一個(gè)雙向循環(huán)鏈表,但是現(xiàn)在我寫的版本是JDK1.7了,通過
查看源碼,發(fā)現(xiàn)linkedList已經(jīng)不是雙向循環(huán)鏈表,只是一個(gè)雙向鏈表,這里請(qǐng)分清楚,別搞懵了。如果還不知道我在說什么,就請(qǐng)先看完我這篇文章然后再回過頭來看這句話。
1、單向鏈表:
element:用來存放元素
next:用來指向下一個(gè)節(jié)點(diǎn)元素
通過每個(gè)結(jié)點(diǎn)的指針指向下一個(gè)結(jié)點(diǎn)從而鏈接起來的結(jié)構(gòu),最后一個(gè)節(jié)點(diǎn)的next指向null。
\
2、單向循環(huán)鏈表:element、next 跟前面一樣。
在單向鏈表的最后一個(gè)節(jié)點(diǎn)的next會(huì)指向頭節(jié)點(diǎn),而不是指向null,這樣存成一個(gè)環(huán)
<