comparator是一个比较器接口其中只有一个方法int copmare(T t1,T t2)
方法中定义的比较规则:例如student类中含有name和age两个属性,你的比较规则是
年龄的大的studnet>年龄小的student那就可以写一个实现comparator的比较类
- import java.util.Comparator;
- public class StudentComparator implements Comparator<Student> {
- @Override
- public int compare(Student s1, Student s2) {
- // TODO Auto-generated method stub
- if(s1.getAge()>s2.getAge())
- return 1;
- else if(s1.getAge()<s2.getAge())
- return -1;
- else return 0;
- }
- }
复制代码
然后调用Collections.sort(list,new StudentComparator());按照你的排序规则进行排序
comparable与comparator类似不过是必须让你进行比较的类实现
class Student implements comparable{}
comparable中的方法是int nt copmare(T t1)
也是用于比较规则的书写用this和t1比较
这样使用sort方法排序的时候就会调用compare方法进行排序
不在需要输入第二个参数了 |