如何对List进行排序?使用java.util.Collections类中的sort()方法和实现Comparator 接口即可实现排序。
示例:对User类列表元素根据id进行排序
User类:
public class User {
private String id;
private int age;
public User(String id, int age) {
this.id = id;
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
Sort类实现 Comparator接口:
public class Sort implements Comparator<User> {
public int compare(User o1, User o2) {
if (o1.getId().compareTo(o2.getId()) > 0)
return 1;
else
return 0;
}
}
compareTo返回负整数、0或正整数,若o1.getId()>o2.getId()返回正整数,若o1.getId()<o2.getId()返回负整数,等于则返回0.
SortAction类:
public class SortAction{
public String SortByUserId() throws Exception {
this.userList= this.UserService.getAll();
Comparator<User> comp = new Sort();
Collections.sort(userList, comp);// userList排序
return "success";
}
}