HashMap底层源码剖析 一.HashMap底层用到的数据结构 数组+单向链表+红黑树 数组:数组每一项都是一个链表,其实就是数组和链表的结合体 单向链表:当法神hash碰撞时,首先会找到数组对应位置,然后1.8采用尾插入法(1.7采用头插入法),形成一个单项链表结构 JDK1.8 红黑树:当数组中每项的链表长度大于8时,会转换为红黑树 二.什么是hash碰撞?解决方案? hash碰撞:不同的key可能会产生相同的hash值: 方案:链表发,再哈希法: hashMap中采用链表发,在Concu…