溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于HashMap的工作原理介紹

發(fā)布時(shí)間:2020-04-28 10:54:09 來源:億速云 閱讀:973 作者:小新 欄目:編程語言

今天小編給大家分享的是關(guān)于HashMap的工作原理介紹,相信很多人都不太了解,為了讓大家更加了解HashMap的工作原理,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

關(guān)于HashMap的工作原理介紹

原理介紹如下:

HashMap是基于Hash算法實(shí)現(xiàn)的。

在使用put(key,value)方法時(shí),HashMap會(huì)根據(jù)key.hashCode()方法得出key的hash值,然后根據(jù)hash值找到對應(yīng)的bucket位置,如果這個(gè)區(qū)域已經(jīng)有元素存在,則會(huì)再做一個(gè)euqal()比較,如果相等,則新增失敗,因?yàn)镠ashMap不允許有相同key值,如果不相等,只是單純的hash沖突。

JDK1.8前,HashMap會(huì)把這個(gè)元素存入鏈表的下一個(gè)節(jié)點(diǎn), HashMap在每個(gè)鏈表節(jié)點(diǎn)中儲(chǔ)存的都是鍵值對對象。JDK1.8之后,HashMap加入了紅黑樹,所以在鏈表節(jié)點(diǎn)數(shù)目超過8個(gè)后,會(huì)由鏈表轉(zhuǎn)為紅黑樹,而一旦小于,又會(huì)從紅黑樹轉(zhuǎn)回鏈表。

關(guān)于HashMap的工作原理介紹就分享到這里了,當(dāng)然并不止以上和大家分析的辦法,不過小編可以保證其準(zhǔn)確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI