使用TreeSet添加实体类时,实体类需要实现Comparable接口。
实现Comparable接口有两种方法:
// 方法1,实现 Comparable 接口,泛型写的是当前的类名
class Student implements Comparable<Student> {
private String name;
private int ranking;
public Student(String name, int ranking){
this.name = name;
this.ranking = ranking;
}
public String toString(){
return this.name + ": " + this.ranking;
}
public int compareTo( Student stu ) {
return this.ranking - stu.ranking;
}
}
// 方法2,实现 Comparable 接口,泛型写的是 Object
class Student implements Comparable<Object> {
private String name;
private int ranking;
public Student(String name, int ranking){
this.name = name;
this.ranking = ranking;
}
public String toString(){
return this.name + ":" + this.ranking;
}
public int compareTo( Object o ) {
Student s = ( Student ) ( o );
return this.ranking - s.ranking;
}
}