//定义一个学生类,实现接口Comparable有一个泛型
public class Person implements Comparable<Person>{
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//实现其方法compareTo
@Override
public int compareTo(Person p) {
//根据年龄排序
int result = this.age - p.getAge();
//年龄相同时,按照姓名的字母顺序排序
result = result == 0 ? this.name.compareTo(p.getName()) : result;
return result;
}
}
往TreeSet集合传入值
import java.util.*;
public class _9_15test {
public static void main(String[] args) {
TreeSet<Person> ts = new TreeSet<>();
Person p1 = new Person();
p1.setName("李白");
p1.setAge(18);
Person p2 = new Person();
p2.setName("杜甫");
p2.setAge(20);
Person p3 = new Person();
p3.setName("李清照");
p3.setAge(16);
ts.add(p1);
ts.add(p2);
ts.add(p3);
for (Person t : ts) {
System.out.println(t);
}
}
}