Java 集合包源碼分析

集合包是 Java 最常用的包吐辙,它最常用的有 Collection 和 Map 兩個(gè)接口的實(shí)現(xiàn)類(lèi),Collection 用于存放多個(gè)單對(duì)象袱瓮,Map 用于存放 Key-Value 形式的鍵值對(duì)之宿。
  Collection 中最常用的又分為兩種類(lèi)型的接口:List 和 Set,兩者最明顯的差別為 List 支持放入重復(fù)的對(duì)象锐峭,而 Set 不支持。List 接口常用的實(shí)現(xiàn)類(lèi)有:ArrayList可婶、LinkedList沿癞、Vector 及 Stack;Set 接口常用的實(shí)現(xiàn)類(lèi)有:HashSet矛渴、TreeSet椎扬,對(duì)于 Collection 的實(shí)現(xiàn)類(lèi)而言惫搏,要重點(diǎn)掌握的為以下幾點(diǎn):

  • Collection 的創(chuàng)建
      對(duì)應(yīng)的為 Collection 實(shí)現(xiàn)類(lèi)的構(gòu)造器,需要掌握在構(gòu)造器方法中 Collection 的實(shí)現(xiàn)類(lèi)都做了些什么蚕涤。
  • 往 Collection 中增加對(duì)象
      對(duì)應(yīng)的為 Collection 中的 add(E) 方法筐赔,往 Collection 中增加對(duì)象時(shí) Collection 的實(shí)現(xiàn)方式?jīng)Q定了此方法的性能。
  • 刪除 Collection 中的對(duì)象
      對(duì)應(yīng)的為 Collection 中的 remove(E) 方法揖铜,實(shí)現(xiàn)類(lèi)的實(shí)現(xiàn)方式?jīng)Q定了此方法的性能茴丰。
  • 獲取 Collection 中的單個(gè)對(duì)象
      對(duì)應(yīng)的為 Collection 中的 get(int index) 方法,實(shí)現(xiàn)類(lèi)的實(shí)現(xiàn)方式?jīng)Q定了此方法的性能天吓。
  • 遍歷 Collection 中的對(duì)象
      對(duì)應(yīng)的是通過(guò) Collection 的 iterator 方法獲取迭代器贿肩,進(jìn)而遍歷。
  • 判斷對(duì)象是否存在于 Collection 中
      對(duì)應(yīng)的是 Collection 中的 contains(E) 方法龄寞,實(shí)現(xiàn)類(lèi)的實(shí)現(xiàn)方式?jīng)Q定了此方法的性能汰规。
  • Collection 中對(duì)象的排序
      如何對(duì) Collection 中對(duì)象合理地排序也是使用 Collection 對(duì)象時(shí)經(jīng)常要考慮的問(wèn)題。

本系列文章所描述的所有類(lèi)或接口都是基于 JDK 1.7的源碼物邑,在其它 JDK 的實(shí)現(xiàn)方式中可能會(huì)有所不同溜哮。

集合包系列一 —— ArrayLis
集合包系列二 —— LinkedList
集合包系列三 —— Vector
集合包系列四 —— Stack
集合包系列五 —— HashSet
集合包系列六 —— TreeSet
集合包系列七 —— HashMap
集合包系列八 —— TreeMap

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市色解,隨后出現(xiàn)的幾起案子茬射,更是在濱河造成了極大的恐慌,老刑警劉巖冒签,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異钟病,居然都是意外死亡萧恕,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)肠阱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)票唆,“玉大人,你說(shuō)我怎么就攤上這事屹徘∽咔鳎” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵噪伊,是天一觀的道長(zhǎng)簿煌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鉴吹,這世上最難降的妖魔是什么姨伟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮豆励,結(jié)果婚禮上夺荒,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好技扼,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布伍玖。 她就那樣靜靜地躺著,像睡著了一般剿吻。 火紅的嫁衣襯著肌膚如雪窍箍。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天和橙,我揣著相機(jī)與錄音仔燕,去河邊找鬼。 笑死魔招,一個(gè)胖子當(dāng)著我的面吹牛晰搀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播办斑,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼外恕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了乡翅?” 一聲冷哼從身側(cè)響起鳞疲,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蠕蚜,沒(méi)想到半個(gè)月后尚洽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡靶累,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年腺毫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挣柬。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡潮酒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邪蛔,到底是詐尸還是另有隱情急黎,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布侧到,位于F島的核電站勃教,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏匠抗。R本人自食惡果不足惜荣回,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戈咳。 院中可真熱鬧心软,春花似錦壕吹、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至猎唁,卻和暖如春咒劲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背诫隅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工腐魂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逐纬。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓蛔屹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親豁生。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兔毒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容