Java TreeMap

Java TreeMap教程

Java 中的 TreeMap 与 HashMap 不同之处在于 HashMap 不是有序的,而 TreeMap 可以根据 key 的值进行排序。可以按照 key 的对象实现的 Comparable 里面的 compareTo 方法。其原理与 TreeSet 类似。

案例

package com.haicoder.net.map; import java.util.Map; import java.util.TreeMap; public class TreeMapTest { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)"); Map<String, String> strMap = new TreeMap<>(); strMap.put("嗨客网", "www.haicoder.net"); strMap.put("年龄", "100岁"); strMap.put("A", "嗨客网"); strMap.put("Z", "嗨客网"); System.out.println("strMap 内容为:" + strMap); } }

运行结果如下:

14 treemap 案例.png

因为 String 默认实现了 Comparable 接口,所以我们 key 定义为 String 类型的时候它是可以排序的。如果我们 key 存放的是一个对象,没有实现 Comparable 它会和 TreeSet 一样,抛出异常。

Java TreeMap总结

如果不深究 TreeMap 底层原理,在使用上,TreeMap 和 HashMap 是一样的,TreeMap 会在 key 的基础上对数据进行排序,获取的时候,可以获取到按照 key 排序的集合数据。