HashMap的初始容量为何设置为16

length为2的整数次幂的话,h&(length-1)等价于 h%length-1 就至关于对length取模,这样便于保证散列的均匀,同时也提高了效率。.net length为2的整数次幂的话,为偶数,length-1为奇数,保证了h&(length-1)二进制保证了最后一位多是0,也多是1。若是是奇数,那么h&(length-1)的最后一位只能为0,浪费了通常的空间。blog 所以取整数次幂
相关文章
相关标签/搜索