HashMap面试要点 一、HashMap底层数据结构?二、JDK8中的HashMap为什么要使用红黑树? 一、HashMap底层数据结构? JDK7: 数组+链表 JDK8: 数组+链表+红黑树(JDK8里面不仅使用了单链表,还是用了双向链表,双向链表主要是为了链表操作方便,在插入、扩容,链表转红黑树、红黑树转链表的过程中都要操作链表) 二、JDK8中的HashMap为什么要使用红黑树? 当元素个数小于一个阈值时,链表的查询、插入效率要高于红黑树,当元素个数大于此阈值时,链表整体的插入查询效率要低于红黑树,这个阈值在HashMap中为8.