HashMap底层实现

186 阅读1分钟

哈希表

JDK1.8之前底层采用 (数组+链表) 的形式 即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。

JDK1.8哈希表存储采用 (数组+链表+红黑树) 实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。