Administrator
Administrator
发布于 2022-06-30 / 258 阅读
0
0

TreeMap小记

HashMap是通过 key的hash值进行分桶存放的。

与HashMap不同,TreeMap则是通过排序比较进行分桶存放。默认根据其键的自然顺序进行排序,或者根据创建时构造函数提供的Comparator 进行排序,具体取决于使用的构造方法。

样例1

Map<String, String> map = new TreeMap<>();
		
map.put("四个字符", "hello, world");
map.put("4个字符", "王德发");
		
System.out.println(map.get("四个字符"));
System.out.println(map.get("4个字符"));

结果将打印什么呢?

hello, world
王德发

但是如果给TreeMap的构造器加上参数:

Map<String, String> map = new TreeMap<>(Comparator.comparing(v -> v.length()));
		
map.put("四个字符", "hello, world");
map.put("4个字符", "王德发");
		
System.out.println(map.get("四个字符"));
System.out.println(map.get("4个字符"));

结果为:

王德发
王德发

评论