一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java教程散列表和樹所對應(yīng)容器類及HashMap解決沖突學(xué)習(xí)

java教程散列表和樹所對應(yīng)容器類及HashMap解決沖突學(xué)習(xí)

2022-02-10 15:13chuangjizai7518 Java教程

本篇篇文章是java教程,主要介紹了java教程散列表,樹所對應(yīng)容器類及HashMap解決沖突的學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助

java中散列表、樹所對應(yīng)的的容器類

散列表:hashmap,hashtable,concurrentHashmap

樹:hashset,treemap,treeset

jdk7與jdk8中HashMap的區(qū)別

jdk7中hashMap采用數(shù)組+鏈表,如果過多的節(jié)點在hash時發(fā)生碰撞,如果要查找其中一個節(jié)點,需要O(n)的查找時間。

jdk7中hashMap采用數(shù)組+鏈表/紅黑樹,當(dāng)某個桶位達(dá)到某個閾值時,鏈表將轉(zhuǎn)化為紅黑樹,紅黑樹時間復(fù)雜度O(nlogn)

HashMap如何解決沖突

1.開放定址法: 通過探測算法,當(dāng)一個槽位已經(jīng)被占用情況下繼續(xù)查找下一個
2.鏈地址法(數(shù)組+鏈表)
3.再哈希 準(zhǔn)備多個散列函數(shù),當(dāng)發(fā)生沖突時,再選擇一個散列函數(shù)進(jìn)行散列。

HashMap的工作原理

HashMap 底層是數(shù)組和單向鏈表實現(xiàn),數(shù)組中的每個元素都是鏈表,由 Node 內(nèi)部類(實現(xiàn) Map.Entry<K,V>接口)實現(xiàn),HashMap 通過 put & get 方法存儲和獲取。

HashCode是定位(存儲位置),equals是定性(兩者是否相等)

1.存儲對象時,將K/V傳給put()方法:

2.hash(K)計算K的hash,結(jié)合數(shù)組長度,計算數(shù)組下標(biāo)

調(diào)整數(shù)據(jù)大小(當(dāng)容器中的元素個數(shù)大于 capacity * loadfactor 時,容器會進(jìn)行擴(kuò)容resize 為 2n)

3.三種情況:

  • 當(dāng)K的hash值不在HashMap中,則執(zhí)行插入
  • 當(dāng)K的hash值存在HashMap中,發(fā)生碰撞
       它們兩者equals為true,更新鍵值對
       它們兩者equals為false,插入鏈表尾部或紅黑樹(當(dāng)鏈表長度超過8)中

獲取對象時(get方法):

  • 調(diào)用hash(K),計算K的hash值從而獲取數(shù)組的下標(biāo)
  • 順序遍歷鏈表,equal方法查找相同 Node 鏈表中 K 值對應(yīng)的 V 值

轉(zhuǎn)載于:https://my.oschina.net/u/3973793/blog/3100006

以上就是java教程散列表和樹所對應(yīng)容器類及HashMap解決沖突學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于java散列表樹所對應(yīng)容器類及HashMap解決沖突的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/chuangjizai7518/article/details/101010546

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91视频无限看 | 国产成人免费观看在线视频 | 午夜福利在线观看6080 | 国产成人一区二区三区 | 91精品国产91热久久p | 色综合欧美色综合七久久 | b站免费网站入口 | 欧美乱子伦xxxx12在线 | 亚洲性综合网 | 亚洲国产精品自在现线让你爽 | 久久精品免视看国产 | 精品女同同性视频很黄很色 | 无颜之月5集全免费看无删除 | 国产精品免费_区二区三区观看 | 蜜桃视频在线观看官网 | 成人在线视频在线观看 | 色图大全 | 免看一级a一片成人123 | 99热久久这里只有精品6国产网 | 欧美高清在线精品一区二区不卡 | 美女和男人一起差差 | 秋霞黄色网 | 九九免费精品视频 | 国产成人精品999在线 | 91热爆在线 | 3d蒂法受辱在线播放 | 国产91精品在线播放 | 国产色综合久久五月色婷婷中文 | 美女脱衣有肉 | 国产91青青成人a在线 | 糖心vlog麻豆精东影业传媒 | 成人毛片高清视频观看 | 国产精品视频免费一区二区三区 | 国产一区二区视频在线 | 午夜精品久视频在线观看 | 国产成人成人一区二区 | 国产网站视频 | 国产成人免费片在线视频观看 | 暖暖的韩国免费观看 | 国产日日干 | 精品综合久久久久久8888 |