Java相关面试题

HashMap的初始容量为什么设为16

2019-07-06  本文已影响0人  五_六柒

length 的值为2 的整数次幂,h & (length - 1)相当于对 length 取模。这样提高了效率也使得数据分布更加均匀。

为什么会更加均匀?
length的值为偶数,length - 1 为奇数,则二进制位的最后以为为1,这样保证了h & (length - 1)的二进制数最后一位可能为1,也可能为0。如果为length为奇数,那么就会浪费一半的空间。

上一篇下一篇

猜你喜欢

热点阅读