编辑代码

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class sort {
    public static void main(String[] args){
    List<User> list = new ArrayList<User>();
    User user1=new User();
    user1.setName("张三");
    user1.setAge(5);
    user1.setSex(true);
    list.add(user1);
    User user2=new User();
    user2.setName("李四");
    user2.setSex(true);
    user2.setAge(30);
    list.add(user2);
    User user3=new User();
    user3.setName("王红");
    user3.setSex(false);
    user3.setAge(19);
    list.add(user3);    
    User user4=new User();
    user4.setName("陈艳");
    user4.setAge(17);
    user4.setSex(false);
    list.add(user4);
    Collections.sort(list); // 按年龄排序
    System.out.println(list.toString());
    }
}

class User implements Comparable<User>{
    private String name;//姓名
    private int age;// 年龄
    private boolean sex;

    public User() {

    }

    // getter && setter
    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;
    }
    public boolean getSex() {
        return sex;
    }
    public void setSex(boolean sex) {
        this.sex = sex;
    }  
    public int getSexValue(){
        if(this.sex){
            return 1;
        }else{
            return 0;
        }
    }  
    @Override
    public String toString() {
        return "User [name=" + name + ", age=" + age + "]";
    }

    @Override
    public int compareTo(User user) { //重写Comparable接口的compareTo方法,
		if (user.getSexValue() >this.getSexValue()){
            return 1;
        }
		if (user.getSexValue() < this.getSexValue()){
			return -1;
        }    
		if (user.getAge() >this.getAge()){
            return 1;
        }
		if (user.getAge() < this.getAge()){
			return -1;
        }
        return 0;
    }
}