java中HashMap的扩容机制
i = (n - 1) & hash 这个是hashmap中根据hashcode判断数组位置上有没有元素的存在,这里非常关键的一个运算符就是这个&与了&运算符操作,在二进制中只有1&1的时候才为1,其他的都为0比如 11100010 & 00011110 = 00000010在了解扩容之前我们需要了解下二进制的乘法和除法二进制的乘法,比如1110 x 2 = 11100,就是把所以位向前移动一位,空出来的用0补上,其实也不难理解,二进制每一位都是2的次方,那每
复制链接