jdk7的文字描述(会在中间介绍一些8的改变):
-
将key1,value1(就是一个键值对Entry)添加到数组中,首先根据key1所在累的hashCode()方法计算key1的哈希值1,然后使用某种算法,得到哈希值2,(个人理解是两次计算哈希值是为了让得到的哈希值相同的概率更小些),哈希值2在使用indexFor()
方法得到底层table数组中存放的位置:index(0<=index &&index <= 15);
【1.在jdk8中,当使用了空参构造器创建对象时,底层并没有创建长度为16的数组,2.而是当我们首次调用put()函数时底层才会首先创建长度为16的数组,3.底层创建的数组为:Node[](classNode implements Map.Entry{},这里与jdk7有所不同】 -
如果index位置没有元素,则直接把key1,value1这个键值对添加进去(添加成功1)</