JDK7 HashMap环的产生原理是什么

2023-04-08 07:39:00 hashmap 原理 JDK7

在JDK7中,HashMap的键值对是以链表的形式存储在数组中的。当向HashMap中添加一个键值对时,首先调用hashCode()方法计算该键值对的哈希值,然后根据哈希值计算出该键值对应在数组中的下标位置,将该键值对添加到数组中对应的位置。

如果数组中已经存在其他键值对,则比较新添加的键值对的哈希值与已经存在的键值对的哈希值,如果相等,则认为这是同一个键值对,将新添加的键值对替换掉已经存在的键值对;如果不相等,则将新添加的键值对添加到已经存在的键值对之后,形成一个链表。

如果链表的长度超过了阈值(默认为8),则将链表转换为红黑树,以便提高查询效率。

相关文章