No.5.2 TreeMap 有序Map

概述:

(1)TreeMap是基于二叉树的Map接口实现。
(2)这里有序指的是TreeMap中的键是有序的,我们可以知道Map中的键可以转化一个Set集合,所以实现TreeMap排序的方法是实现,TreeMap中键对象的排序;
(3)排序方法当然也有两种:
第一种:TreeMap(Comparator comparator) 传入一个比较器;
第二种:将 存储的键对象实现Comparable接口;

这里常用的是第一中方法:

这里使用上一节的比较器MyComparator();

public class HashMapDemo {
public static void main(String[] args) {
    TreeMap map = new TreeMap<>(new MyComparator());
    map.put(new Person(1,"zhangsan"),1);
    map.put(new Person(2,"lisi"),2);
    map.put(new Person(3,"lisi"),3);
    
    Set> entry = map.entrySet();
    for(Map.Entry temp : entry){
        System.out.println(temp.getKey() + ": " + temp.getValue());
    }
}  
}

输出结果为:
[ id: 2,name: lisi]: 2
[ id: 3,name: lisi]: 3
[ id: 1,name: zhangsan]: 1

你可能感兴趣的:(No.5.2 TreeMap 有序Map)