@see http://lavasoft.blog.51cto.com/62575/68380
Java API针对集合类型排序提供了两种支持:
java.util.Collections.sort(java.util.List)
java.util.Collections.sort(java.util.List, java.util.Comparator)
第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。(静态绑定排序规则)
第二个方法要求实现一个java.util.Comparator接口。(动态绑定排序规则)
java.util.Collections.sort(java.util.List, java.util.Comparator)
第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。(静态绑定排序规则)
第二个方法要求实现一个java.util.Comparator接口。(动态绑定排序规则)
例子:Person 按age升序排列
List<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 5; i++)
{
persons.add(new Person(i, "name[" + Integer.toString(i) + "]"));
}
Collections.shuffle(persons);
Collections.sort(persons, new Comparator<Person>() {
public int compare(Person p1, Person p2){
return p1.getAge() - p2.getAge();
}
});