TreeMap实现了SortedMap接口, 根据键自然排序, 要求键必须是可比较的,要么指定Comparator比较器,如果没有Comparator比较器, 键要实现Comparable接口。
package Map;
import java.util.Comparator;
import java.util.TreeMap;
/**
* TreeMap
*/
public class Test {
public static void main(String[] args) {
//1)创建TreeMap, 在构造方法中指定Comparator比较器
TreeMap<String, Integer> treeMap = new TreeMap<>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1); //按字符串降序
}
});
treeMap.put("feifei", 28);
treeMap.put("zhang", 36);
treeMap.put("yong", 35);
treeMap.put("xin", 34);
//输出结果, 根据键降序排序
System.out.println( treeMap );
//{zhang=36, yong=35, feifei=28, bin=34}
//2) 创建TreeMap, 没有指定Comparator比较器, 要求键实现Comparable接口
TreeMap<String, Integer> treeMap22 = new TreeMap<>();
treeMap22.putAll(treeMap);
System.out.println( treeMap22 );
//{bin=34, feifei=28, yong=35, zhang=36}