一.HashMap (JDK8)put(K key, V value)底层实现 1. 首先判断这个hashmap是否为空,为空就初始化一个hashmap 2. 根据key 计算hashcode()值,和数组长度-1 进行&(等价于求余), 得到bucket的位置 3. 得到位置后 判断该处的值是否为空 如果为空 直接插入 4. 如果不为空,判断数组后面链接的是否是一棵树,是树就将其put到这颗树中. 5. 不是树,先挂在链表后面,然后判断链表大小是否大于8,大于8就要把链表转换成树 源码: pu…