前提知识 写在前面,为什么num&(length - 1) 在length是2的n次幂的时候等价于num%length n - 1意味着比n最高位小的位都为1,而高的位都为0,因此通过与可以剔除位数比n最高位更高的部分,只保留比n最高位小的部分,也就是取余了. 而且用位运算取代%,效率会比较高. 基于以上几点,我们再看看hashmap中如何计算hash值得 这里吧key的hashcode取出来,然后把它右移16位,然后取异或 这里从我Google得到的信息是,int是4个字节,也就是32位,我们…