欢迎光临散文网 会员登陆 & 注册

【java经典面试题】集合必问题:HashMap是怎么解决哈希冲突的?

2023-06-14 21:10 作者:fred_kang  | 我要投稿

通常解决Hash冲突的方法有四种

1 开放定址法(线性探测法),如ThreadLocal解决Hash冲突

按照顺序,向前寻找一个位置来存储冲突的key

2链式寻址法,如HashMap解决Hash冲突

3 再Hash法,hash存在冲突不断再Hash直到不冲突

4建立公共溢出区

把Hash表分为基本表和溢出表两个部分,存在冲突的元素放到溢出表


Hashmap中的hash表容量大于64,并且添加元素链表长度大于8时转化为红黑树。

【java经典面试题】集合必问题:HashMap是怎么解决哈希冲突的?的评论 (共 条)

分享到微博请遵守国家法律