发布时间:2025-08-14 16:20:19 点击量:
HASH GAME - Online Skill Game GET 300
其中的哈希函数决定了整个HashMap的效率,而决定整个HashMap效率的哈希函数采用的是位运算方式. HashMap中的元素超过长度的百分之75时触发数组扩容.扩大为原来的两倍,扩容非常消耗性能.数组的初始化长度最好为2的幂. 回到标题, 假设张三手写了个HashMap,数组长度为10,前面提到哈希函数采用的是位运算的方式.hash算法的hash计算结果往往取决于HashCode值的 最后几位 第一个数计算Hash值
虽然HashCode的倒数第二第三位从0变成了1,但是运算的结果都是1001。当HashMap长度为10的时候,有些index结果的出现几率会更 大,而有些index结果永远不会出现(比如0111) 而长度为2的幂时,Length-1的值是所有二进制位全为1,这种情况下,index的结果完全取决于HashCode后几位的值。பைடு நூலகம்要输入的 HashCode本身分布均匀,Hash算法的结果就是均匀的。