HashMap中put方法的过程
生活随笔
收集整理的這篇文章主要介紹了
HashMap中put方法的过程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
“調(diào)用哈希函數(shù)獲取Key對(duì)應(yīng)的hash值,再計(jì)算其數(shù)組下標(biāo);
如果沒(méi)有出現(xiàn)哈希沖突,則直接放入數(shù)組;如果出現(xiàn)哈希沖突,則以鏈表的方式放在鏈表后面;
如果鏈表長(zhǎng)度超過(guò)閥值( TREEIFY THRESHOLD==8),就把鏈表轉(zhuǎn)成紅黑樹(shù),鏈表長(zhǎng)度低于6,就把紅黑樹(shù)轉(zhuǎn)回鏈表;
如果結(jié)點(diǎn)的key已經(jīng)存在,則替換其value即可;
如果集合中的鍵值對(duì)大于12,調(diào)用resize方法進(jìn)行數(shù)組擴(kuò)容。”
?
總結(jié)
以上是生活随笔為你收集整理的HashMap中put方法的过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring中Bean的生命周期是怎样的
- 下一篇: 拉链法导致的链表过深问题为什么不用二叉查