HashMap如何解决Hash冲突

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


版权声明:本文为miachen520原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。