1.实现Comparable接口
//按年龄大小排序
@Override
public int compareTo(Student o) {
return o.age>this.age?-1:1;
}
//按姓名排序
@Override
public int compareTo(Student o) {
return this.name.compareToIgnoreCase(o.name);
}
2.匿名内部类
Set<Student> li=new TreeSet<Student>(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getAge()-o2.getAge();
}
});
注:new Comparator的优先级比实现接口高,所以既有2,又有1的情况下,输出结果的排序是按2执行
5491

被折叠的 条评论
为什么被折叠?



