【java經(jīng)典面試題】集合必問題:HashMap是怎么解決哈希沖突的?

通常解決Hash沖突的方法有四種
1 開放定址法(線性探測法),如ThreadLocal解決Hash沖突

按照順序,向前尋找一個位置來存儲沖突的key
2鏈?zhǔn)綄ぶ贩ǎ鏗ashMap解決Hash沖突

3 再Hash法,hash存在沖突不斷再Hash直到不沖突
4建立公共溢出區(qū)
把Hash表分為基本表和溢出表兩個部分,存在沖突的元素放到溢出表
Hashmap中的hash表容量大于64,并且添加元素鏈表長度大于8時轉(zhuǎn)化為紅黑樹。
標(biāo)簽: