转自:https://zhuanlan.zhihu.com/p/28587782
hashMap中放入(put)元素的重要步骤:
1、计算key的hash值,算出元素的在底层数组的下标位置。
2、通过下标位置定位到底层数组里的元素(可能是链表也有可能是数)。
3、取到元素,判断放入元素的key是否==或equals当前位置的key,成立则替换value值,返回旧值。
4、如果是数,循环树中的节点,判断放入元素的key是否==或equals节点的key,成立则替换树里的value,并返回旧值,不成立就添加到树里。
5、否则就顺着元素的链表结构循环节点,判断放入元素的key是否==或equals节点的key,成立则替换链表里value,并返回旧值,找不到就添加到链表的最后。