你可以对用户定义的类进行降序排序,这样覆盖
compare()方法,
Collections.sort(unsortedList,new Comparator() {
@Override
public int compare(Person a, Person b) {
return b.getName().compareTo(a.getName());
}
});
或者通过使用Collection.reverse()按照his comment中提到的用户Prince降序排序。
你可以做这样的升序排序,
Collections.sort(unsortedList,new Comparator() {
@Override
public int compare(Person a, Person b) {
return a.getName().compareTo(b.getName());
}
});
使用Lambda表达式(Java 8向前)替换上面的代码,我们得到简洁:
Collections.sort(personList, (Person a, Person b) -> b.getName().compareTo(a.getName()));
从Java 8开始,List有sort()方法,以Comparator为参数(更简洁):
personList.sort((a,b)->b.getName().compareTo(a.getName()));
这里a和b通过lambda表达式推断为Person类型。