java面試-集合相關(guān)

最近整天面試廠商的人,我總在問一個(gè)很簡單的問題,就是集合分為哪幾種梁厉,都什么區(qū)別,怎么用蝗肪。答的水平參差不齊。所以我想整體的寫一寫蠕趁,系統(tǒng)的來學(xué)習(xí)一下常用的薛闪、集合相關(guān)的知識(shí)點(diǎn)。

java集合有哪些

首先需要明確的是:集合有3個(gè)接口

  • Iterator
  • Collection
  • Map

這是并列的概念俺陋。

可以看一下類圖:
http://www.runoob.com/java/java-collections.html

image.png

要明確如下這些概念的層次關(guān)系

Collection

  • List
    • ArrayList
    • LinkedList
    • Vector
      • Stack
  • Set
    • HashSet
    • TreeSet
  • Queue

Map

  • HashMap
    • LinkedHashMap
  • TreeMap
  • WeakHashMap
  • IdentityHashMap
  • HashTable

前四個(gè)都是繼承AbstractMap豁延,實(shí)現(xiàn)了Map接口,代碼里都是

xxx extends AbstractMap<K,V> implements Map<K,V>

但是HashTable繼承Dictionary腊状,實(shí)現(xiàn)了Map接口诱咏,所以這是一個(gè)很重要的區(qū)別。

List是一個(gè)接口

List.java

public interface List<E> extends Collection<E> {
    int size();
    boolean isEmpty();
    boolean contains(Object o);
    Iterator<E> iterator();
    ...
    ...
}

ArrayList是一個(gè)類

ArrayList.java

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
    
}

HashMap和HashTable的區(qū)別

HashTable為什么是線程安全的

public synchronized int size() {
        return count;
    }

Java中Collection和Collections的區(qū)別

  • java.util.Collection 是一個(gè)接口缴挖。它提供了對(duì)集合對(duì)象進(jìn)行基本操作的通用接口方法袋狞。Collection接口在Java 類庫中有很多具體的實(shí)現(xiàn)。Collection接口的意義是為各種具體的集合提供了最大化的統(tǒng)一操作方式映屋。
  • java.util.Collections 是一個(gè)類苟鸯。它包含有各種有關(guān)集合操作的靜態(tài)多態(tài)方法。此類不能實(shí)例化秧荆,就像一個(gè)工具類倔毙,服務(wù)于Java的Collection框架。
public interface Collection<E> extends Iterable<E> {
    int size();
    boolean isEmpty();
    ...
    ...
}

public class Collections {
    // Suppresses default constructor, ensuring non-instantiability.
    private Collections() {
    }
    ...
    
    public static <T extends Comparable<? super T>> void sort(List<T> list) {
        list.sort(null);
    }
    ...
    ...
}

還有非常多內(nèi)容乙濒,后續(xù)有時(shí)間繼續(xù)整理...

參考資料

1.集合類--最詳細(xì)的面試寶典--看這篇就夠用了(java 1.8)

2.BAT面試必備——Java 集合類

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末陕赃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颁股,更是在濱河造成了極大的恐慌么库,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甘有,死亡現(xiàn)場(chǎng)離奇詭異诉儒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)亏掀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門忱反,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滤愕,你說我怎么就攤上這事温算。” “怎么了间影?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵注竿,是天一觀的道長。 經(jīng)常有香客問我,道長巩割,這世上最難降的妖魔是什么裙顽? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮宣谈,結(jié)果婚禮上愈犹,老公的妹妹穿的比我還像新娘。我一直安慰自己蒲祈,他們只是感情好甘萧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梆掸,像睡著了一般扬卷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酸钦,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天怪得,我揣著相機(jī)與錄音,去河邊找鬼卑硫。 笑死徒恋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欢伏。 我是一名探鬼主播入挣,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼硝拧!你這毒婦竟也來了径筏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤障陶,失蹤者是張志新(化名)和其女友劉穎滋恬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抱究,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恢氯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鼓寺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勋拟。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妈候,靈堂內(nèi)的尸體忽然破棺而出敢靡,到底是詐尸還是另有隱情,我是刑警寧澤州丹,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布醋安,位于F島的核電站,受9級(jí)特大地震影響墓毒,放射性物質(zhì)發(fā)生泄漏吓揪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一所计、第九天 我趴在偏房一處隱蔽的房頂上張望柠辞。 院中可真熱鬧,春花似錦主胧、人聲如沸叭首。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焙格。三九已至,卻和暖如春夷都,著一層夾襖步出監(jiān)牢的瞬間眷唉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工囤官, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冬阳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓党饮,卻偏偏與公主長得像肝陪,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刑顺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • Java集合類可用于存儲(chǔ)數(shù)量不等的對(duì)象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 1,922評(píng)論 0 13
  • Java集合框架為Java編程語言的基礎(chǔ)氯窍,也是Java面試中很重要的一個(gè)知識(shí)點(diǎn)。這里捏检,我列出了一些關(guān)于Java集合...
    Java架構(gòu)師Carl閱讀 721評(píng)論 0 3
  • Java集合框架為Java編程語言的基礎(chǔ)荞驴,也是Java面試中很重要的一個(gè)知識(shí)點(diǎn)。在本文中贯城,列出了一些關(guān)于Java集...
    java成功之路閱讀 711評(píng)論 0 9
  • 最近又開始癡迷于算卦熊楼,雖自己沒病沒災(zāi),但卻出于好奇想要提前知道自己的未來能犯,因此不可能專門掏錢去專門算卦的店里算鲫骗,于...
    安靜的瘋女子M閱讀 278評(píng)論 0 1
  • 從“而已”所想到的 昨天在一個(gè)群里执泰,有小伙伴對(duì)《好好學(xué)習(xí)》這本書提出這樣的評(píng)價(jià): 這本書里面談?wù)摰暮芏鄸|西,其實(shí)其...
    藥山閱讀 982評(píng)論 0 51