HashMap 如何解决 Hash 冲突

通过引入单向链表来解决 Hash 冲突。当出现 Hash 冲突时,比较新老 key 值是否相等,
如果相等,新值覆盖旧值。如果不相等,新值会存入新的 Node 结点,指向老节点,形成
链式结构,即链表。
当 Hash 冲突发生频繁的时候,会导致链表长度过长,以致检索效率低,所以 JDK1.8 之
后引入了红黑树,当链表长度大于 8 时,链表会转换成红黑书,以此提高查询性能。

猜你喜欢

转载自blog.csdn.net/miachen520/article/details/120854718