常見的容器介紹

常見的容器介紹

上古容器

  1. Dictionary,key-value型數(shù)據(jù)結構,已被HashMap代替
  2. HashTable疯坤,key-value型數(shù)據(jù)結構,線程安全深浮,已被ConcurrentHashMap代替
  3. Vector压怠,key-value型數(shù)據(jù)結構,線程安全略号,已被ArrayList(線程不安全)/CopyOnWriteArrayList(線程安全)代替
  4. Stack刑峡,LIFO結構,已被ArrayDeque代替

Collection容器

1. List:

1.1 ArrayList玄柠,線程不安全突梦,高效的隨機訪問,避免頻繁添加

1.2 LinkedList羽利,鏈表實現(xiàn)宫患,訪問速度較慢,非線程安全这弧,具有FIFO特性

1.3 CopyOnWriteArrayList娃闲,線程安全,適合并發(fā)常見讀>寫常見

2. Queue:

2.1 LinkedList匾浪,鏈表實現(xiàn)皇帮,訪問速度較慢,非線程安全蛋辈,具有FIFO特性

2.2 ArrayBlockingQueue属拾,數(shù)組實現(xiàn)的有界阻塞隊列将谊,線程安全,默認不公平鎖渐白,高吞吐

2.3 LinkedBlockingQueue尊浓,鏈表實現(xiàn)的有界阻塞隊列,線程安全纯衍,讀寫鎖分離栋齿,適合高并發(fā)

2.4 DelayQueue,支持延時取元素的無界阻塞隊列襟诸,使用PriorityQueue實現(xiàn)瓦堵,非線程安全

2.5 SynchronousQueue,線程安全励堡,內部只能通過阻塞的put緩存一個元素谷丸,并且無法通過其他方法獲取堡掏,只通過阻塞的take操作獲取

2.6 PriorityBlockingQueue应结,線程安全,數(shù)組實現(xiàn)的平衡二叉樹泉唁,優(yōu)先級通過Comparator實現(xiàn)

2.7 PriorityQueue鹅龄,數(shù)組實現(xiàn)的小根堆,非線程安全亭畜,保證每次取出的元素都是隊列中權值最小的

2.8 ArrayDeque扮休,循環(huán)數(shù)組實現(xiàn),非線程安全拴鸵,作為堆或者隊列推薦使用

2.9 LinkedBlockDeque玷坠,阻塞式并發(fā)雙向隊列,線程安全

2.10 ConcurrentLinkedQueue劲藐,線程安全八堡,無界隊列,效率較高

3. Set

3.1 HashSet聘芜,內部維護一個HashMap實現(xiàn)兄渺,非線程安全,值放在key的位置

3.2 LinkedHashSet汰现,內部維護LinkedHashMap實現(xiàn)挂谍,非線程安全

3.3 TreeSet,內部維護NavigableMap(由TreeMap實現(xiàn))瞎饲,非線程安全

3.4 ConcurrentSkipListSet口叙,內部維護ConcurrentSkipListMap,存儲的值必須時Comparable類型的

3.5 CopyOnWriteArraySet嗅战,內部維護CopyOnWriteArrayList

Map容器

  1. EnumMap妄田,鍵為枚舉類型的map,使用數(shù)組實現(xiàn),非線程安全
  2. IdentityHashMap形庭,數(shù)組實現(xiàn)铅辞,非線程安全,使用 == 比較元素是否相等
  3. ConcurrentHashMap萨醒,線程安全斟珊,適合并發(fā)的Map
  4. WeakHashMap,弱鍵特性的HashMap富纸,非線程安全
  5. HashMap囤踩,非線程安全,Hash表和鏈表實現(xiàn)
  6. LinkedHashMap晓褪,非線程安全堵漱,雙向有序,由Hash表和鏈表實現(xiàn)
  7. TreeMap涣仿,內部維護紅黑樹勤庐,根據(jù)Comparator保證數(shù)據(jù)順序
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市好港,隨后出現(xiàn)的幾起案子愉镰,更是在濱河造成了極大的恐慌,老刑警劉巖钧汹,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丈探,死亡現(xiàn)場離奇詭異,居然都是意外死亡拔莱,警方通過查閱死者的電腦和手機碗降,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塘秦,“玉大人讼渊,你說我怎么就攤上這事∴托危” “怎么了精偿?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赋兵。 經(jīng)常有香客問我笔咽,道長,這世上最難降的妖魔是什么霹期? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任叶组,我火速辦了婚禮,結果婚禮上历造,老公的妹妹穿的比我還像新娘甩十。我一直安慰自己船庇,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布侣监。 她就那樣靜靜地躺著鸭轮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪橄霉。 梳的紋絲不亂的頭發(fā)上窃爷,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機與錄音姓蜂,去河邊找鬼按厘。 笑死,一個胖子當著我的面吹牛钱慢,可吹牛的內容都是我干的逮京。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼束莫,長吁一口氣:“原來是場噩夢啊……” “哼懒棉!你這毒婦竟也來了?” 一聲冷哼從身側響起麦箍,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤漓藕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挟裂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡揍诽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年诀蓉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暑脆。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡渠啤,死狀恐怖,靈堂內的尸體忽然破棺而出添吗,到底是詐尸還是另有隱情沥曹,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布碟联,位于F島的核電站妓美,受9級特大地震影響,放射性物質發(fā)生泄漏鲤孵。R本人自食惡果不足惜壶栋,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望普监。 院中可真熱鬧贵试,春花似錦琉兜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至桑滩,卻和暖如春夺饲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背施符。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工往声, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戳吝。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓浩销,卻偏偏與公主長得像,于是被迫代替她去往敵國和親听哭。 傳聞我的和親對象是個殘疾皇子慢洋,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內容

  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,485評論 0 3
  • Java8張圖 11陆盘、字符串不變性 12普筹、equals()方法、hashCode()方法的區(qū)別 13隘马、...
    Miley_MOJIE閱讀 3,693評論 0 11
  • Java SE 基礎: 封裝太防、繼承、多態(tài) 封裝: 概念:就是把對象的屬性和操作(或服務)結合為一個獨立的整體酸员,并盡...
    Jayden_Cao閱讀 2,099評論 0 8
  • 前言這篇文章僅僅回答weakSelf幔嗦、stongSelf是如何做到避免循環(huán)引用也延長執(zhí)行生命周期的酿愧。這個小技巧可能...
    luozhiwei閱讀 698評論 4 8
  • 拍攝參數(shù) 【拍攝設備】:佳能 6D+24-105mm f/4.0 【參數(shù)設置】: 2s f/4.0 ISO 8...
    朱子先生的攝影思維閱讀 1,287評論 3 6