2020-03-27:JDK1.8中在数据结构上,对HashMap做了什么样的改进?为什么?

2025-04-07 15:03:47
推荐回答(1个)
回答1:

1.8之前遇到哈希冲突时,冲突的节点会变成链表,极端情况下,HashMap会退化成链表,算法复杂度从O(1)退化成O(N)。
1.8在遇到哈希冲突时,如果冲突的节点数小于8,则还是保持链表不变,当大于8时,会将链表转换成红黑树,从而在极端情况下的算法复杂度能保持O(logn)。