Collection.sort使用

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
        }
    }
}
posted @ 2018-11-07 15:09  木鱼cavalry  阅读(478)  评论(0)    收藏  举报