美文网首页Java相关面试题
HashMap的初始容量为什么设为16

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

作者: 五_六柒 | 来源:发表于2019-07-06 17:39 被阅读0次

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

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

    相关文章

      网友评论

        本文标题:HashMap的初始容量为什么设为16

        本文链接:https://www.haomeiwen.com/subject/tafmhctx.html