实现Compareble接口,自定义排序.

-实体类实现Comparable接口

//用户对象
public class UserPOJO implements Comparable {

    private String name;
    private int age;

    @Override
    public int compareTo(UserPOJO o) {
        return o.getAge()-this.age;
    }
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }


}
  • 使用Collections的sort()方法排序
public class Test {
    public static void main(String[] args) {

        UserPOJO u1 = new UserPOJO();
        UserPOJO u2 = new UserPOJO();
        UserPOJO u3 = new UserPOJO();
        u1.setAge(2);
        u1.setName("小二");
        u2.setAge(3);
        u2.setName("小三");
        u3.setAge(1);
        u3.setName("小一");

        List list = new ArrayList<>();
        list.add(u1);
        list.add(u2);
        list.add(u3);

        Collections.sort(list);
        for (UserPOJO u : list) {
            System.out.println(u.getAge());
            //System.out.println(u.getName());
        }
    }
}
  • 打印结果
    按姓名排序:
小三
小二
小一

按年龄排序:

3
2
1

你可能感兴趣的:(java)