算法目的
尽可能避免hash碰撞,减少重复的可能性,也就是数组可以更均匀的分配, 方式有两种
负载因子,如果是1,也就是数组完全占满了,才去扩容,这样数据只能落点到扩容前的某个槽,增加了hash碰撞的概率,而如果太小会浪费存储空间,所以就推算出了0.75这个加载因子hash算法,原生的hashcode()&数组的长度,参与运算的只有低位,重复的概率会很高,所以就优化重写了hashcode方法 key.hashcode() ^ key.hashcode() >>>16长度必须是2^n,也是增加散列的幅度
hash碰撞的解决方案