Java – 集合Map – TreeMap集合

简介

TreeMap跟TreeSet底层原理一样,都是红黑树结构的。

由键决定特性:不重复、无索引、可排序

可排序是指对键进行排序

注意:默认按对象的键的从小到大进行排序,也可以自己规定键的排序规则。

1.实现 Comparable 接口,指定比较规则,参见下面文章

2.创建集合时传递 Comparator 比较器对象,指定比较规则

 

 

TreeMap自定义对象键排序

 

TreeMap和TreeSet的排序运算方法一样,依然有两种,

一种是自定义对象实现 Comparable 接口方法

一种是创建TreeMap时指定 Comparator 接口方法

 

实现 Comparable 接口方法

TreeMap<Student,String> tm = new TreeMap<>();

 Student s1 = new Student("小明",18);
 Student s2 = new Student("小红",19);
 Student s3 = new Student("常威",20);
 Student s4 = new Student("来福",21);

 tm.put(s1,"小明Value");
 tm.put(s2,"小红Value");
 tm.put(s3,"常威Value");
 tm.put(s4,"来福Value");

Student 类中实现方法
public class Student implements Comparable<Student> { 
    @Override
    public int compareTo(Student o) {
        return this.getAge() - o.getAge();
    }
}

 

指定 Comparator 接口方法 (定义后会优先执行)

TreeMap<Student,String> tm = new TreeMap<>(new Comparator<Student>() {
   @Override
   public int compare(Student o1, Student o2) {
    return o1.getAge() - o2.getAge();
   }
  });

  Student s1 = new Student("小明",18);
  Student s2 = new Student("小红",19);
  Student s3 = new Student("常威",20);
  Student s4 = new Student("来福",21);

  tm.put(s1,"小明Value");
  tm.put(s2,"小红Value");
  tm.put(s3,"常威Value");
  tm.put(s4,"来福Value");

 

关于TreeSet 的相关知识,请参阅TreeSet文章

简介 TreeSet是不重复、无索引、可排序的集合。可排序是按照元素的默认规则(从小到大)排序 TreeSet……
2022-12-11

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

THE END
分享
二维码
打赏
海报
Java – 集合Map – TreeMap集合
TreeMap跟TreeSet底层原理一样,都是红黑树结构的。
<<上一篇
下一篇>>