Comparable 定义在 Person类的内部:
public class Person implements Comparable<Person> {
@Override public int compareTo(Person o) { // 返回负整数、 0、正整数表示小于、大于、等于 return 0; } }
Collections.sort(PersonList)可以对PersonList进行排序。
String 实现了Comparable接口,compareTo方法依次比较两个字符串ASC码。如果两个字符的ASC码相等则继续后续比较,否则直接返回两个ASC的差值。
Comparator 是定义在Person的外部的, Person类的结构不需要有任何变化
public class PersonComparator implements Comparator<Person> { @Override public int compare(Person o1, Person o2) { // 返回负整数、 0、正整数表示小于、大于、等于 return 0; } }
Collections.sort( personList , new PersonComparator() )可以对PersonList进行排序。
原文:http://www.cnblogs.com/lovgge/p/5256274.html