jdk1.8源码解析:HashMap底层数据结构之链表转红黑树的具体时机

  一、从HashMap中有关“链表转红黑树”阈值的声明;

  二、【重点】解析HashMap.put(K key, V value)的源码;

  三、测试;

 

一、从HashMap中有关“链表转红黑树”阈值的声明,简单了解HashMap的链表转红黑树的时机

  在 jdk1.8 HashMap底层数据结构:散列表+链表+红黑树(图解+源码)的 “四、问题探究”中,我有稍微提到过散列表后面跟什么数据结构是怎么确定的:

  HashMap中有关“链表转红黑树”阈值的声明:

/** * 使用红黑树(而不是链表)来存放元素。当向至少具有这么多节点的链表再添加元素时,链表就将转换为红黑树。 * 该值必须大于2,并且应该至少为8,以便于删除红黑树时转回链表。 */ static final int TREEIFY_THRESHOLD = 8;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfysy.html