package com.ylh4Y1;
import java.util.TreeSet;
/*自然排序Comparable的使用
实例:存储学生对象
要求:年龄按照从小到大进行排序,当年龄相同是按照姓名的字母进行排序
*/
public class StudentDome {
public static void main(String[] args) {
TreeSet<Student>t=new TreeSet<Student>();
Student s1=new Student("张三",20);
Student s2=new Student("李四",25);
Student s3=new Student("王五",18);
Student s4=new Student("li六",30);
Student s5=new Student("xiao六",30);
t.add(s1);
t.add(s2);
t.add(s3);
t.add(s4);
t.add(s5);
for(Student s:t){
System.out.println(s.getName()+","+s.getAge());
}
}
}
public class Student implements Comparable<Student>{
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = 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;
}
//重写compare方法
@Override
public int compareTo(Student o) {
//return 0;默认相同,只显示一个
//return1;从小到大排序
//return -1;从大到小排序
int num=this.age-o.age;
int num2=num==0?this.name.compareTo(o.name):num;
return num2;
}
}