关于hashmap的hash扰动函数。

hash函数只把信息混合进了低16位,那如果数组长度超过了16位,不就不平均了吗? 因为高16位的信息又没有混合进低16位的信息?

想了很久想不明白,希望有大佬能解答解答。#Java#
全部评论
之所以把高位亦或给低位,是因为在在桶很少的情况下,用不到高位的信息,混合一下能够充分利用hashcode。而桶个数超过16位时,已经利用了hashcode一半以上的信息,这时候即使我不扰动,直接用hashcode,对hashcode的利用也很充分。
1 回复 分享
发布于 2020-07-22 23:47

相关推荐

小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务