首先,lengt为2的整数次幂的话,h&(length-1)相当于对length取模,既保证了散列均匀,又提升了效率。
其次,length为2的整数次幂,保证了length-1最后一位是1,在与操作后可能出现两种结果。反之,最有一位只有可能为0。所以,这样能是hash值发生碰撞的概率较小,也能尽可能保证散列均匀。
首先,lengt为2的整数次幂的话,h&(length-1)相当于对length取模,既保证了散列均匀,又提升了效率。
其次,length为2的整数次幂,保证了length-1最后一位是1,在与操作后可能出现两种结果。反之,最有一位只有可能为0。所以,这样能是hash值发生碰撞的概率较小,也能尽可能保证散列均匀。