说一下HashMap的put方法
HashMap的put方法的大体流程1.根据key通过哈希算法与运算得出数组下标2.如果数据下标位置元素为空,则将key和value封装为Entry对象(JDK1.7是Entry对象,JDK1.8是Node对象)ing放入该位置3.如果数组下标位置元素不为空,则要分情况讨论如果是JDK1.7,则先判断是否需要扩容,如果要扩容就进行扩容。如果不用扩容就生成Entry对象,并使用头插法添加到当前位置的链表中 如果是JDK1.8,则会先判断当前位置上Node的类型,看是红黑树Node,还是链表N