Jac*_*ale 25 java algorithm hashtable
从下面的链接中,我知道Java (hash & 0x7FFFFFFF) % tab.length用来决定将数组放入{key,value}的数组中的哪个插槽.
我的问题是为什么Java首先执行hash&0x7FFFFFFF?有什么特别的目的吗?
sin*_*rix 36
因为:
0x7FFFFFFF 是0111 1111 1111 1111 1111 1111 1111 1111:除符号位外的所有1.
(hash & 0x7FFFFFFF) 将产生正整数.
(hash & 0x7FFFFFFF) % tab.length 将在标签长度的范围内.
| 归档时间: |
|
| 查看次数: |
11903 次 |
| 最近记录: |