精滂软 发表于 2025-9-24 14:57:29

10.Java SDK源码分析系列笔记-TreeMap

目录

[*]1. 是什么
[*]2. 使用
[*]3. 源码分析

[*]3.1. uml
[*]3.2. 构造方法
[*]3.3. put
[*]3.4. get
[*]3.5. containsKey
[*]3.6. remove

[*]4. 参考

1. 是什么

基于红黑树(平衡二叉搜索树)实现,效率为O(logN)的key-value对。
迭代时输出的顺序是

[*]按照key的自然顺序来遍历的
[*]也可以使用自定义的Comparator进行排序
2. 使用

public class TreeMapTest
{
    public static void main(String[] args)
    {
      TreeMap<String, String> map = new TreeMap<>();
      map.put("1", "a");
      map.put("3", "c");
      map.put("2", "b");
      map.put("4", "d");

      for (Map.Entry<String, String> entry : map.entrySet())
      {
            /*
            *   1=a
                2=b
                3=c
                4=d
            * */
            System.out.println(entry);
      }
    }
}3. 源码分析

3.1. uml


3.2. 构造方法

public class TreeMap    extends AbstractMap    implements NavigableMap, Cloneable, java.io.Serializable//NavigableMap是个有序的map接口{    //使用compartor来排序key    private final Comparator

段干叶农 发表于 2025-12-1 01:34:13

这个有用。

威割 发表于 2025-12-4 12:24:23

热心回复!

邹语彤 发表于 2025-12-10 23:25:12

这个有用。

米嘉怡 发表于 2025-12-15 20:03:47

谢谢分享,辛苦了

癖艺泣 发表于 2025-12-17 02:55:50

热心回复!

系味 发表于 2025-12-20 21:00:27

感谢分享,学习下。

宛蛲 发表于 2025-12-25 22:05:55

感谢,下载保存了

喳谍 发表于 2026-1-1 15:04:59

感谢分享

这帜 发表于 2026-1-18 20:59:41

感谢发布原创作品,程序园因你更精彩

指陡 发表于 2026-1-19 11:27:22

喜欢鼓捣这些软件,现在用得少,谢谢分享!

猷浮 发表于 2026-1-21 07:22:36

热心回复!

左丘平莹 发表于 2026-1-21 17:34:38

前排留名,哈哈哈

煞赶峙 发表于 2026-1-24 08:05:42

感谢分享,下载保存了,貌似很强大

劳暄美 发表于 2026-1-25 10:02:28

谢谢楼主提供!

扎先 发表于 2026-1-29 06:08:06

yyds。多谢分享

贼瘁 发表于 2026-1-30 02:07:31

感谢分享,下载保存了,貌似很强大

扔飒 发表于 2026-1-30 04:34:20

前排留名,哈哈哈

鲫疹 发表于 2026-1-30 06:38:08

yyds。多谢分享

丝甲坞 发表于 2026-2-4 11:09:37

谢谢分享,辛苦了
页: [1] 2
查看完整版本: 10.Java SDK源码分析系列笔记-TreeMap