您可以使用Collections.sort如下:
private static void order(List persons) {
Collections.sort(persons, new Comparator() {
public int compare(Object o1, Object o2) {
String x1 = ((Person) o1).getName();
String x2 = ((Person) o2).getName();
int sComp = x1.compareTo(x2);
if (sComp != 0) {
return sComp;
} else {
Integer x1 = ((Person) o1).getAge();
Integer x2 = ((Person) o2).getAge();
return x1.compareTo(x2);
}
}});
}
列表< Persons>现在按名称排序,然后按年龄排序。
String.compareTo“按字母顺序比较两个字符串” – 从docs。
Collections.sort是本地Collections库中的一个静态方法。它做实际的排序,你只需要提供一个Comparator,它定义了如何比较列表中的两个元素:这是通过提供自己的compare方法实现的。