Java三大集合

先來一張集合概要圖:


java集合.png

PS:有序是指元素按照添加時候的順序排列。

Collection 接口

Collection 是最基本的集合接口,一個 Collection 代表一組 Object甲脏,即 Collection 的元素, Java不提供直接繼承自Collection的類,只提供繼承于的子接口(如List和set)。

List 接口

List接口是有序的集合悼沈,使用此接口能夠精確的控制每個元素插入的位置,能夠通過索引(元素在List中位置姐扮,類似于數(shù)組的下標(biāo))來訪問List中的元素絮供,第一個元素的索引為 0,而且允許有相同的元素和空元素茶敏。

  • ArrayList
    是以一種類似數(shù)組的形式進行存儲壤靶,因此它的隨機訪問速度極快,能在遍歷和隨機訪問時提供更好的性能惊搏。該類是非同步的贮乳,在多線程環(huán)境下需要自己手動管理線程的同步問題忧换。
  • LinkedList
    是以一種基于鏈表數(shù)據(jù)結(jié)構(gòu)的集合類,適用于需要進行頻繁的插入向拆、刪除操作的數(shù)據(jù)集亚茬。該類是非同步的,可以通過List list = Collections.synchronizedList(new LinkedList(...))構(gòu)造一個同步的List集合浓恳。
    PS:Collections是一個很好用的集合工具類哦刹缝。

Set接口

Set 接口是無序的集合(PS:準(zhǔn)確的說是絕大部分Set是無序的),Set 不保存重復(fù)的元素颈将。

  • HashSet
    該類實現(xiàn)了Set接口梢夯,不允許出現(xiàn)重復(fù)元素,不保證集合中元素的順序晴圾,允許包含值為null的元素颂砸,但最多只能一個,并且存放到HashSet中的對象需要實現(xiàn)hashCode()方法死姚。
  • TreeSet
    該類實現(xiàn)了Set接口人乓,將放入其中的元素按序排放,可以實現(xiàn)排序等功能知允,這就要求你放入其中的對象是可排序的撒蟀,需要使用到集合框架提供的另外兩個實用類ComparableComparator

Map接口

Map是一種把鍵對象和值對象進行關(guān)聯(lián)的容器温鸽,而一個值對象又可以是一個Map保屯,依次類推,這樣就可形成一個多級映射涤垫。對于鍵對象來說姑尺,像Set一樣,一個Map容器中的鍵對象不允許重復(fù)蝠猬,這是為了保持查找結(jié)果的一致性;如果有兩個鍵對象一樣切蟋,那你想得到那個鍵對象所對應(yīng)的值對象時就有問題了,可能你得到的并不是你想的那個值對象榆芦,結(jié)果會造成混亂柄粹,所以鍵的唯一性很重要,也是符合集合的性質(zhì)的匆绣。

  • HashMap
    HashMap 是一個散列表驻右,它存儲的內(nèi)容是鍵值對(key-value)映射。該類根據(jù)鍵的hashcode值存儲數(shù)據(jù)崎淳,具有很快的訪問速度堪夭,最多允許一條記錄的鍵為null,不支持線程同步。
  • TreeMap
    該類繼承自AbstractMap森爽,將放入其中的元素對鍵按序排放恨豁。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市爬迟,隨后出現(xiàn)的幾起案子橘蜜,更是在濱河造成了極大的恐慌,老刑警劉巖雕旨,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扮匠,死亡現(xiàn)場離奇詭異,居然都是意外死亡凡涩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門疹蛉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來活箕,“玉大人,你說我怎么就攤上這事可款∮” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵闺鲸,是天一觀的道長筋讨。 經(jīng)常有香客問我,道長摸恍,這世上最難降的妖魔是什么悉罕? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮立镶,結(jié)果婚禮上壁袄,老公的妹妹穿的比我還像新娘。我一直安慰自己媚媒,他們只是感情好嗜逻,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缭召,像睡著了一般栈顷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嵌巷,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天萄凤,我揣著相機與錄音,去河邊找鬼晴竞。 笑死蛙卤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颤难,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼神年,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了行嗤?” 一聲冷哼從身側(cè)響起已日,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎栅屏,沒想到半個月后飘千,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡栈雳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年护奈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哥纫。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡霉旗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛀骇,到底是詐尸還是另有隱情厌秒,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布擅憔,位于F島的核電站鸵闪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏暑诸。R本人自食惡果不足惜蚌讼,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屠列。 院中可真熱鬧啦逆,春花似錦、人聲如沸笛洛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽苛让。三九已至沟蔑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狱杰,已是汗流浹背瘦材。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仿畸,地道東北人食棕。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓朗和,卻偏偏與公主長得像,于是被迫代替她去往敵國和親簿晓。 傳聞我的和親對象是個殘疾皇子眶拉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

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

  • 一忆植、集合入門總結(jié) 集合框架: Java中的集合框架大類可分為Collection和Map;兩者的區(qū)別: 1谒臼、Col...
    程序員歐陽閱讀 11,547評論 2 61
  • 一朝刊、基礎(chǔ)知識:1、JVM蜈缤、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,369評論 0 4
  • Java集合類可用于存儲數(shù)量不等的對象,并可以實現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 1,922評論 0 13
  • Collection ├List │├LinkedList │├ArrayList │└Vector │└Stac...
    AndyZX閱讀 870評論 0 1
  • 一 跟朋友A聊天拾氓,說起朋友B目前的困境,聽了覺得挺難過的底哥,就弱弱的問朋友痪枫,為什么朋友B不用眾籌呢?他家的情況屬實啊...
    Erin棋落閱讀 325評論 0 0