compareto

package day_54;

import java.util.Set;
import java.util.TreeSet;

public class ComparetoDemo {
    public static void main(String[] args) {
        Student s = new Student(1,1);
        Student s1 = new Student(2,1);
        Student s2 = new Student(3,1);
        int i = s.compareTo(s2);
        System.out.println(i);
        Set<Student> list = new TreeSet<Student>();
        list.add(s);
        list.add(s1);
        list.add(s2);
        System.out.println(list);
    }
}
package day_54;

public class Emp {

    private int age;
    
    private int id;

    public int getAge() {
        return age;
    }

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

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "Emp [age=" + age + ", id=" + id + "]";
    }

    public Emp(int age, int id) {
        super();
        this.age = age;
        this.id = id;
    }
    
    
}    
package day_54;

import java.util.Comparator;

public class EmpComparetor implements Comparator<Emp>{

    @Override
    public int compare(Emp o1, Emp o2) {
        int val = o1.getAge()-o2.getAge();
        if(val==0)
        {
            val = o1.getId()-o2.getId();
        }
        return val;
    }

}
package day_54;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class EmpcomparetorTest {
    public static void main(String[] args) {
        List<Emp> list = new ArrayList<Emp>();
        list.add(new Emp(4,1));
        list.add(new Emp(2,1));
        list.add(new Emp(3,1));
        //第一个是集合,第二个是比较器,new一个出来。
        Collections.sort(list, new EmpComparetor());
        System.out.println(list);
    }
}
package day_54;

public class Student implements Comparable<Student>{
    
    public int getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "Student [age=" + age + ", id=" + id + "]";
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Student(int age, int id) {
        super();
        this.age = age;
        this.id = id;
    }

    private int age;
    
    private int id;

    @Override
    public int compareTo(Student o) {
        int val = this.age-o.age;
        if(val==0)
        {
            val = this.id-o.id;
        }

        return val;
    }
    
    
}

 

posted @ 2018-07-26 22:19  侯小铁柱  阅读(625)  评论(0)    收藏  举报