HashMap中TreeNode解读

HashMap中TreeNode解读发现一篇优秀的讲解 TreeNode 的文章 就不重复造车了 在这记录一下 https blog csdn net article details TreeNode 的类关系如下 TreeNode 继承 Node 具有 Node 的单向链表的特性 TreeNode 的有参构造方法也是用得父类 Node 的构造方法 代码如下 TreeNode inthash Kkey Vval Node K V next K V

发现一篇优秀的讲解TreeNode的文章,就不重复造车了,在这记录一下:

https://blog.csdn.net/_/article/details/

 

TreeNode的类关系如下:

HashMap中TreeNode解读

TreeNode继承Node,具有Node的单向链表的特性,TreeNode的有参构造方法也是用得父类Node的构造方法,代码如下

 TreeNode(int hash, K key, V val, Node 
  
    next) { super(hash, key, val, next); } 
  

每一个TreeNode都是红黑树中的一个节点,TreeNode具有以下特点:

如下图:

HashMap中TreeNode解读

每次对红黑树的操作都会影响红黑树的五点特性,通过左旋和右旋来维持这种特性的,左旋、右旋的代码如下:

//假设传入G节点,root是G节点,p也是G节点 static 
  
    TreeNode 
   
     rotateLeft(TreeNode 
    
      root, TreeNode 
     
       p) { //r是G的右节点,rl是G的左节点,pp是G的父节点 TreeNode 
      
        r, pp, rl; if (p != null && (r = p.right) != null) { if ((rl = p.right = r.left) != null) rl.parent = p; if ((pp = r.parent = p.parent) == null) (root = r).red = false; else if (pp.left == p) pp.left = r; else pp.right = r; r.left = p; p.parent = r; } return root; } 
       
      
     
    
  

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206260.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午4:05
下一篇 2026年3月19日 下午4:06


相关推荐

  • OpenAI Codex 新手教程:2025年最全面的AI编程助手入门指南

    OpenAI Codex 新手教程:2025年最全面的AI编程助手入门指南

    2026年3月15日
    1
  • 系统环境变量与用户环境变量区别_windows7建立用户变量

    系统环境变量与用户环境变量区别_windows7建立用户变量区别:  环境变量分为系统环境变量和用户环境变量。环境变量是指系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。  例如你要用opencv,那么你把opencv的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入opencv都会有opencv的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这

    2025年12月8日
    4
  • SPSS聚类分析——一个案例演示聚类分析全过程

    SPSS聚类分析——一个案例演示聚类分析全过程SPSS聚类分析——一个案例演示聚类分析全过程摘要:案例数据源:有20种12盎司啤酒成分和价格的数据,变量包括啤酒名称、热量、钠含量、酒精含量、价格。数据来自《SPSSforWindows统计分析》案例数据源:有20种12盎司啤酒成分和价格的数据,变量包括啤酒名称、热量、钠含量、酒精含量、

    2022年10月18日
    5
  • 条件运算符的嵌套使用方法_三元运算符的嵌套

    条件运算符的嵌套使用方法_三元运算符的嵌套intx=5,y=6,a=1,b=2;intz=0;z=x>y?x:a>b?a:b;条件运算符的执行顺序是从右向左。z=x>y?x:(a>b?a:b);先执行括号里面的。   

    2022年10月2日
    3
  • ddr2 odt_ddr2电压

    ddr2 odt_ddr2电压经常有人会说支持DDR2的主板存在偷工减料的现象。事实上这是由于DDR2内存中使用了一项新的ODT技术,它可以在提高内存信号稳定性的基础上节省不少电器元件。主板终结是一种最为常见的终结主板内干扰信号的方法。在每一条信号传输路径的末端,都会安置一个终结电阻,它具备一定的阻值可以吸收反射回来的电子。但是目前DDR2内存的工作频率太高了,这种主板终结的方法并不能有效的阻止干扰信号。若硬要采用主板终结

    2025年10月10日
    7
  • 排列问题(递归算法)

    排列问题(递归算法)问题描述 对 n 个元素进行全排列 列出所有情况 例如 1 2 3 三个数字会得到 123 132 213 231 312 321 这 6 中情况思路 设 n 为元素个数 元素集合为 R r1 r2 r3 rn 计算方法为 Perm n 当 n 1 时 则只有一种情况 nbsp r 当 n gt 1 时 则有 r1 Perm R1 r2 Perm R2 r3 Perm R3

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号