Java集合框架數(shù)據(jù)結(jié)構(gòu)隨筆

版權(quán)聲明:本文為作者原創(chuàng)拌喉,轉(zhuǎn)載必須注明出處诵姜。

轉(zhuǎn)載請注明出處:http://www.reibang.com/p/fec3a8c3cc9b


Set:體現(xiàn)集合的概念同辣,無序弯屈、唯一性。適合做交娜扇、差错沃、并、補(bǔ)的操作

1)HashSet : hashMap實(shí)現(xiàn)雀瓢,基于散列表枢析,存儲(chǔ)無序。

判斷重復(fù)的標(biāo)準(zhǔn):先hashCode再equals 計(jì)算得到的hash值相同的話則會(huì)造成散列沖突

2)TreeSet : treeMap ? 基于排序樹刃麸,key 有序(升或降):要求存入的元素具備比較大小的能力

3)LinkedHashSet :? LinkedHashMap醒叁, 值是按插入的順序有序的輸出

add方法:添加的值做為對應(yīng)map的key,value是 new Object();

List: 有序、可重復(fù)的線性結(jié)構(gòu)

1)ArrayList: 動(dòng)態(tài)數(shù)組: 通過 System.arraycopy來實(shí)現(xiàn)泊业,改查高效把沼。

如果超過當(dāng)前的數(shù)組的存儲(chǔ)長度,那么新建一個(gè)數(shù)組長度為之前長度的1.5倍吁伺,

2) LinkedList: 雙向鏈表, 增刪高效饮睬。

3) Vector: 動(dòng)態(tài)數(shù)組? 也是通過 System.arraycopy來實(shí)現(xiàn)? ,安全性源于方法都加了鎖

Map:體現(xiàn)的是函數(shù)的概念:若對X中的每個(gè)x篮奄,按對應(yīng)法則f捆愁,使Y中存在唯一的一個(gè)元素y與之對應(yīng) 割去, 就稱對應(yīng)法則f是X上的一個(gè)函數(shù),記作y=f(x),體現(xiàn)一種映射關(guān)系

HashMap:無序輸出昼丑;

TreeMap: 按Key排序輸出;

LinkedHashMap:根據(jù)輸入的順序輸出;

HashTable和HashMap區(qū)別 :

HashMap幾乎可以等價(jià)于Hashtable呻逆,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受為null的鍵值(key)和值(value)菩帝,而Hashtable則不行.

HashMap的數(shù)據(jù)結(jié)構(gòu)

HashMap的底層主要是基于數(shù)組和鏈表來實(shí)現(xiàn)的咖城,它之所以有相當(dāng)快的查詢速度主要是因?yàn)樗峭ㄟ^計(jì)算散列碼來決定存儲(chǔ)的位置。HashMap中主要是通過key的hashCode來計(jì)算hash值的呼奢,只要hashCode相同宜雀,計(jì)算出來的hash值就一樣。如果存儲(chǔ)的對象對多了控妻,就有可能不同的對象所算出來的hash值是相同的州袒,這就出現(xiàn)了所謂的hash沖突。學(xué)過數(shù)據(jù)結(jié)構(gòu)的同學(xué)都知道弓候,解決hash沖突的方法有很多,HashMap底層是通過鏈表來解決hash沖突的他匪。

圖中菇存,紫色部分即代表哈希表,也稱為哈希數(shù)組邦蜜,數(shù)組的每個(gè)元素都是一個(gè)單鏈表的頭節(jié)點(diǎn)依鸥,鏈表是用來解決沖突的,如果不同的key映射到了數(shù)組的同一位置處悼沈,就將其放入單鏈表中贱迟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者絮供。
  • 序言:七十年代末衣吠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子壤靶,更是在濱河造成了極大的恐慌缚俏,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贮乳,死亡現(xiàn)場離奇詭異忧换,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)向拆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門亚茬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浓恳,你說我怎么就攤上這事刹缝⊥氚担” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵赞草,是天一觀的道長讹堤。 經(jīng)常有香客問我,道長厨疙,這世上最難降的妖魔是什么洲守? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮沾凄,結(jié)果婚禮上梗醇,老公的妹妹穿的比我還像新娘。我一直安慰自己撒蟀,他們只是感情好叙谨,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著保屯,像睡著了一般手负。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姑尺,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天竟终,我揣著相機(jī)與錄音,去河邊找鬼切蟋。 笑死统捶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柄粹。 我是一名探鬼主播喘鸟,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驻右!你這毒婦竟也來了什黑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤旺入,失蹤者是張志新(化名)和其女友劉穎兑凿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茵瘾,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡礼华,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拗秘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片圣絮。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雕旨,靈堂內(nèi)的尸體忽然破棺而出扮匠,到底是詐尸還是另有隱情捧请,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布棒搜,位于F島的核電站疹蛉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏力麸。R本人自食惡果不足惜可款,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望克蚂。 院中可真熱鬧闺鲸,春花似錦、人聲如沸埃叭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赤屋。三九已至立镶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間类早,已是汗流浹背谜慌。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莺奔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓变泄,卻偏偏與公主長得像令哟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子妨蛹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

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

  • 前言 這次我和大家一起學(xué)習(xí)HashMap屏富,HashMap我們在工作中經(jīng)常會(huì)使用,而且面試中也很頻繁會(huì)問到蛙卤,因?yàn)樗?..
    liangzzz閱讀 7,972評論 7 102
  • HashMap 是 Java 面試必考的知識點(diǎn)狠半,面試官從這個(gè)小知識點(diǎn)就可以了解我們對 Java 基礎(chǔ)的掌握程度。網(wǎng)...
    野狗子嗷嗷嗷閱讀 6,661評論 9 107
  • java筆記第一天 == 和 equals ==比較的比較的是兩個(gè)變量的值是否相等颤难,對于引用型變量表示的是兩個(gè)變量...
    jmychou閱讀 1,488評論 0 3
  • 出身 WebStorm(后面簡稱WS)出身于大名鼎鼎的JetBrains公司神年,如果有同學(xué)用Java或者Python...
    袋小超閱讀 1,205評論 3 4
  • 老話說,三搬當(dāng)一燒行嗤,這樣算來我們家被燒了好幾次了已日。 記憶里最早的搬家的印象,是我還不滿兩歲的時(shí)候栅屏。那時(shí)候飘千,爸媽在一...
    Cathyinbetween閱讀 215評論 0 0