//由于Set是实现了Comparator接口,那么重写compare方法,将 比较器放入TreeSet(Comparator<? super E> comparator) 方法中,就可以排序完遍历集合了
public class recompare implements Comparator<Student>{
public int compare(Student s1, Student s2) {
//compare方法有两个比较参数
//如果第一个参数大于第二个,希望升序,那么返回正数
//如果第一个参数小于第二个参数,希望升序,那么返回负数
//如果两者相同,返回0
return s2.score-s1.score;
}
}
复制代码
这道题我是根据TreeSet的修改默认的compare方法写出来的。默认是自然排序,首先:
我重写的compare()方法
public int compare(Student s1, Student s2)
是比较Student这个对象,默认是比较Student对象的所有参数进行排序,例如name,age,score进行自然排序。