對(duì)Java程序開發(fā)而言,ArrayList 的使用頻率是非常高的,尤其在進(jìn)行 JavaWeb 開發(fā)的時(shí)候,ArrayList 和 HashMap 這兩個(gè)類,相信你一定不會(huì)陌生,因?yàn)樘焯於荚谟寐铩?

本系列對(duì) ArrayList 做一個(gè)解析,同時(shí)把Java基礎(chǔ)知識(shí)個(gè)串連進(jìn)去。一開始我會(huì)對(duì)如何使用 ArrayList 做一個(gè)簡(jiǎn)要的說明,然后,我們來仿照 ArrayList 封裝一個(gè)自己的集合框架MyList,通過練習(xí),來一步一步猜想ArrayList 可能的實(shí)現(xiàn)方式。

最后,深入到ArrayList 的源碼進(jìn)行解讀。

為什么要學(xué)習(xí)源碼?

很簡(jiǎn)單,一個(gè)知道源碼的人和一個(gè)不知道源碼的人,雖然都能使用 ArrayList ,但是,他們?cè)谑褂玫臅r(shí)候,心態(tài)是完全不一樣的。

只有當(dāng)你深入了源碼,然后你才會(huì)對(duì)它的一些細(xì)節(jié)有更充分的認(rèn)識(shí)。這是一本萬利的事情。

當(dāng)然,對(duì)于初學(xué)者,還是盡量以使用為主,因?yàn)樵创a的話,畢竟有一定的難度。如果一味地追求這些東西,可能會(huì)大大降低自己的學(xué)習(xí)興趣和熱情。

##1、 ArrayList 概述

副本難度:一顆星
經(jīng)驗(yàn)值:500


首先來看一下文檔,

All Implemented Interfaces: Serializable, Cloneable, Iterable

從圖中可以看到,ArrayList 實(shí)現(xiàn)了Iterable接口,這個(gè)接口表示一種迭代的能力。

既然是ArrayList,那么肯定和 List 有關(guān),所以它果然繼承了List接口。

接口

網(wǎng)友評(píng)論