为了让HashMap存取高效,数据分配均匀从而减少碰撞。
因为将数据存储到链表中的算法是hash&(length-1),length是2的n次方,因为2的n次方是1后面n个0,减1就是n个1,n个1在与添加元素的hash值进行位运算时能够充分的散列(1&1为1,其他为0),使添加的元素能均匀的分布在HashMap的每个位置上,减少hash碰撞。

为了让HashMap存取高效,数据分配均匀从而减少碰撞。
因为将数据存储到链表中的算法是hash&(length-1),length是2的n次方,因为2的n次方是1后面n个0,减1就是n个1,n个1在与添加元素的hash值进行位运算时能够充分的散列(1&1为1,其他为0),使添加的元素能均匀的分布在HashMap的每个位置上,减少hash碰撞。