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;
}
}