-
总结:为了减少哈希冲突
-
为什么能减少哈希冲突,因为容量的大小跟确定元素在桶中的位置有关,
-
元素在桶中的位置由(n-1)&hash计算得来
-
当容量大小不够大时,元素的位置主要用的hash低位的信息,那么结合&操作,&的另一个数最好低位全是1,而2的整数次幂-1的低位全是1,这样&才有意义;否则结果就肯定是0那么&就没有意义,冲突概率增加
HashMap的容量为什么是2的n次幂
最新推荐文章于 2022-09-26 07:51:10 发布
总结:为了减少哈希冲突
为什么能减少哈希冲突,因为容量的大小跟确定元素在桶中的位置有关,
元素在桶中的位置由(n-1)&hash计算得来
当容量大小不够大时,元素的位置主要用的hash低位的信息,那么结合&操作,&的另一个数最好低位全是1,而2的整数次幂-1的低位全是1,这样&才有意义;否则结果就肯定是0那么&就没有意义,冲突概率增加