hashCode()返回值为int类型,它的作用是获取哈希码,也称散列码;哈希码的作用是确定对象在hash表中的位置;任何类都有hashCode()方法
在HashMap中,通过计算元素key的哈希码经过扰动函数(指HashMap的hash方法,作用是防止一些实现比较差的hashCode()方法,减少碰撞)处理后得到hash值,然后通过hash&(n-1)判断当前元素存放的位置,n指的是数组长度;
为什么HashMap的长度是2的幂次方?
确定元素下标位置时,首先想到hash%length;只有在length是2的次方时hash&(n-1)==hash%length