问一个关于HashMap取模运算离散度的问题
来源:3-16 锁模块之当前读和快照读
爱学习的plhh
2020-11-25
老师你好,我想问一下,就是HashMap在计算桶的位置也就是tab索引位置时候,使用了hash&(n-1),这个式子在n=2^n时候表示hash%n,也就是取模运算,也就是说他模的是一个偶数,但是我看有些学科上说,模一个素数的话,离散度会比较高,这里是我理解有问题还是说,他本身考虑了计算的快捷而没有考虑hash冲突不均匀的场景呢?
写回答
2回答
-
同学好,我理解应该是这样性能比较高,并且符合计算机思维,毕竟这样做能够按位去做运算,也能按照固定的规则进行扩容,如果按照素数取模的话,规则制定相对麻烦些
142020-11-26 -
爱学习的plhh
提问者
2020-11-25
老师,也不是我钻牛角尖,我只是想知道一下
00
相似问题