这是两种让ADT实现比较功能的方法。
Comparator
实现Comparetor接口并override compare()方法。
public class Person {
String name;
int age;
}
public class PersonComparator implements Comparator<Person> {
@Override
public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge();
}
}
Comparable
让ADT实现Comparable接口,并override compareTo()方法。
public class Person implements Comparable<Person> {
String name;
int age;
......
@Override
public int compareTo(Person p) {
return this.age - p.age;
}
}
这两种方法区别不大,可以根据实际情况进行使用。