
Java集合
远夏_
这个作者很懒,什么都没留下…
展开
-
[Java集合]Map源码分析:HashMap红黑树解析
数据结构:红黑树1. 红黑树的演变2. 红黑树的性质3. 红黑树的实现3.1 HashMap中的红黑树3.1.1 TreeNode的结构3.1.2 treeify() & untreeify()3.1.3 split()3.1 左旋与右旋3.2 红黑树的插入3.3 红黑树的删除1. 红黑树的演变此部分的思想来自于Sedgewick的《 算法[第四版] 》。参考博客:https://b...原创 2019-04-20 22:32:58 · 437 阅读 · 0 评论 -
[Java集合]Map源码分析:HashMap(下)
Java集合Map源码分析:HashMap(下)1. 视图1.1 keySet()1.2 HashIterator1.3 transient1.4 Spliteratorvalues()entrySet()2. Overrides of JDK8 Map extension methods3. LinkedHashMap support4. Cloning and serialization1....原创 2019-04-21 11:11:09 · 412 阅读 · 0 评论 -
[Java集合]Map源码分析:HashMap(上)
Java集合Map源码分析:HashMap1 数据结构2 顶部注释3 定义静态全局变量静态内部类 Node1 数据结构 HashMap的数据结构是数组+链表+红黑树(红黑树since JDK1.8)。我们常把数组中的每一个节点称为一个桶。当向桶中添加一个键值对时,首先计算键值对中key的hash值,以此确定插入数组中的位置,但是可能存在同一hash值的元素已经被放在数组同一位置了,这种现象...原创 2019-04-17 21:05:51 · 771 阅读 · 0 评论