Java HashMap 总结 (1.7/1.8)
底层结构1.7:数组 + 链表1.8:数组 + 链表 + 红黑树put 方法流程1.7判断数组是否已初始化,没有则进行初始化(容量默认是16,若在构造方法中指定了则为大于等于指定容量的最小 2 的次幂)计算下标,若 key 为 null 则下标为 0,key 不为 null 时下标为 hash & length - 1,其中 hash 值通过 key.hashCode() 与哈希种子计算得到调用 addEntry 方法,先判断是否需要扩容,扩容条件为:元素数量(插入前) &