【Java技術(shù)】Collection框架體系結(jié)構(gòu)

【Java技術(shù)】Collection框架體系結(jié)構(gòu)
本文系裝載,僅供參考學(xué)習(xí) ?來(lái)源:源碼時(shí)代

Collection的框架體系是面試會(huì)經(jīng)常問(wèn)的問(wèn)題:Collection框架體系主要分為Set接口和List接口,Queue接口,每個(gè)接口都有自己的特點(diǎn);
List接口特點(diǎn):允許重復(fù)的,對(duì)集合中對(duì)象進(jìn)行索引;有順序的;
比較具有代表性兩個(gè):ArrayList和LinkedList;
那ArrayList和LinkedList的區(qū)別是什么呢?
①存儲(chǔ)方式上面的區(qū)別:
ArrayList: 基于數(shù)組實(shí)現(xiàn)的容器類;如下代碼實(shí)現(xiàn):



LinkedList:基于鏈表實(shí)現(xiàn)的容器類;



②共性:ArrayList和LinkedList都是List接口的實(shí)現(xiàn)類;
③效率上面的區(qū)別:
ArrayList在添加,刪除的時(shí)候,速度慢;在查找的時(shí)候,速度快;
LinkedList在添加,刪除的時(shí)候,速度快,在查找的時(shí)候,速度慢;
LinkedList可以充當(dāng)隊(duì)列,堆棧,多一些操作頭尾的方法;比如addFirst, addLast方法;
Set接口特點(diǎn):不允許重復(fù)的值,沒(méi)有順序的;
比較具有代表性的兩個(gè):HashSet和TreeSet

HashSet和TreeSet的區(qū)別:
HashSet判斷重復(fù)的標(biāo)準(zhǔn):通過(guò)對(duì)象的hashCode方法和equals方法;
HashSet本質(zhì)通過(guò)HashMap實(shí)現(xiàn);



TreeSet判斷重復(fù)的標(biāo)準(zhǔn):添加到TreeSet里面的對(duì)象,要么需要實(shí)現(xiàn)Comparable接口,覆寫(xiě)compareTo方法(自然排序),要么實(shí)現(xiàn)Comparetor接口,覆寫(xiě)compare方法(比較器);
TreeSet本質(zhì)通過(guò)TreeMap實(shí)現(xiàn) ,如下代碼所示:

Queue接口特點(diǎn):在處理元素前用于保存元素的Collection;隊(duì)列通常FIFO(先進(jìn)先出)的方式排列各個(gè)元素;LinkedList也是實(shí)現(xiàn)了Queue接口的;
Collection是層次結(jié)構(gòu)的根接口,但是它上面還有Iterable接口,它繼承Iterable,說(shuō)明什么情況?
繼承Iterable,說(shuō)明可以調(diào)用Iterable接口里面的iterator方法,得到一個(gè)迭代器(Iterator),通過(guò)這個(gè)迭代器,可以進(jìn)行遍歷元素;Iterator下面還有一個(gè)子類叫做ListIterator表示一個(gè)雙向的迭代器,可以進(jìn)行正向迭代,還可以進(jìn)行反向迭代器;
如下Collection體系結(jié)構(gòu)圖:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 概述 Java集合框架由Java類庫(kù)的一系列接口、抽象類以及具體實(shí)現(xiàn)類組成。我們這里所說(shuō)的集合就是把一組對(duì)象組織到...
    absfree閱讀 1,279評(píng)論 0 10
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,764評(píng)論 18 399
  • Collection接口 Collection接口是所有集合的祖先類。他有兩個(gè)構(gòu)造方法,一個(gè)無(wú)參構(gòu)造,一個(gè)是帶Co...
    夜幕繁華閱讀 608評(píng)論 0 0
  • title: java集合框架學(xué)習(xí)總結(jié) tags:集合框架 categories:總結(jié) date: 2017-03...
    行徑行閱讀 1,707評(píng)論 0 2
  • 集合類簡(jiǎn)介 為什么出現(xiàn)集合類?面向?qū)ο笳Z(yǔ)言對(duì)事物的體現(xiàn)都是以對(duì)象的形式,所以為了方便對(duì)多個(gè)對(duì)象的操作,就要對(duì)對(duì)象進(jìn)...
    阿敏其人閱讀 1,441評(píng)論 0 7