成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何分析HashMap的學(xué)習(xí)

如何分析HashMap的學(xué)習(xí),針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、吉木乃網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為吉木乃等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

HashMap 根據(jù)鍵的 hashCode 值存儲數(shù)據(jù),大多數(shù)情況下可以直接定位到它的值,因而具有很快的訪問速度,但遍歷順序卻是不確定的。HashMap 最多只允許一條記錄的鍵為 null,允許多條記錄的值為 null。HashMap 非線程安全,即任一時(shí)刻可以有多個(gè)線程同時(shí)寫 HashMap,可能會導(dǎo)致數(shù)據(jù)的不一致。如果需要滿足線程安全,可以用 Collections 的synchronizedMap 方法使 HashMap 具有線程安全的能力,或者使用 ConcurrentHashMap。

我一眼就能看出,他是在面試之前做了功課。并不是真正的懂 HashMap,一個(gè) put 方法就把他打回原形了!

學(xué)習(xí)好的人為什么學(xué)習(xí)好?因?yàn)閯e人善于總結(jié)!好了,廢話不多說,看我的圖!

如何分析HashMap的學(xué)習(xí)

簡單的來說,可以用下面幾句話總結(jié)!

①.判斷鍵值對數(shù)組 table[i] 是否為空或?yàn)?null,否則執(zhí)行 resize() 進(jìn)行擴(kuò)容;

②.根據(jù)鍵值 key 計(jì)算 hash 值得到插入的數(shù)組索引 i,如果 table[i]==null,直接新建節(jié)點(diǎn)添加,轉(zhuǎn)向⑥,如果 table[i] 不為空,轉(zhuǎn)向③;

③.判斷 table[i] 的首個(gè)元素是否和 key 一樣,如果相同直接覆蓋 value,否則轉(zhuǎn)向④,這里的相同指的是 hashCode 以及 equals;

④.判斷 table[i] 是否為 treeNode,即 table[i] 是否是紅黑樹,如果是紅黑樹,則直接在樹中插入鍵值對,否則轉(zhuǎn)向⑤;

⑤.遍歷 table[i],判斷鏈表長度是否大于8,大于8的話把鏈表轉(zhuǎn)換為紅黑樹,在紅黑樹中執(zhí)行插入操作,否則進(jìn)行鏈表的插入操作;遍歷過程中若發(fā)現(xiàn) key 已經(jīng)存在直接覆蓋 value 即可;

⑥.插入成功后,判斷實(shí)際存在的鍵值對數(shù)量size是否超多了最大容量 threshold,如果超過,進(jìn)行擴(kuò)容。

關(guān)于 如何分析HashMap的學(xué)習(xí)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

當(dāng)前名稱:如何分析HashMap的學(xué)習(xí)
轉(zhuǎn)載注明:http://jinyejixie.com/article0/psiioo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站制作、商城網(wǎng)站、關(guān)鍵詞優(yōu)化、、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
三门峡市| 龙岩市| 昔阳县| 绥江县| 新邵县| 阜新市| 沭阳县| 吕梁市| 威远县| 石家庄市| 兴业县| 扎赉特旗| 宝兴县| 临泽县| 香港 | 库尔勒市| 东安县| 太原市| 太原市| 突泉县| 松滋市| 滨州市| 普兰县| 嘉鱼县| 建昌县| 平昌县| 常熟市| 黄骅市| 贡嘎县| 古蔺县| 苏尼特左旗| 丹江口市| 丹江口市| 卢氏县| 清镇市| 根河市| 资源县| 从化市| 宜兰市| 孝义市| 密云县|