import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class User implements Comparable<User> {
private String name;
private Integer order;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
public int compareTo(User arg0) {
return this.getOrder().compareTo(arg0.getOrder());
}
}
//main 方法
public class test {
public static void main(String[] args) {
//测试例子
User user1 = new User();
user1.setName("a");
user1.setOrder(2);
User user2 = new User();
user2.setName("b");
user2.setOrder(1);
List<User> list = new ArrayList<User>();
list.add(user1);
list.add(user2);
//默认排序
Collections.sort(list);
for (User u : list) {
System.out.println(u.getName());//b,a
}
//自定义排序:此处设置为倒序
Collections.sort(list, new Comparator<User>(){
public int compare(User o1,User o2){
return o1.getOrder()>o2.getOrder()?-1:(o1.getOrder()==o2.getOrder()?0:1);
}
});
for (User u : list) {
System.out.println(u.getName());//a,b
}
}
}