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……
THE END
0
二维码
打赏
海报
Java – 集合Map – TreeMap集合
TreeMap跟TreeSet底层原理一样,都是红黑树结构的。
TZMing花园 - 软件分享与学习
共有 0 条评论