public class ComparableStudent implements Comparable<ComparableStudent>{
private String name;
private long id = 0;
private double gpa = 0.0;
public ComparableStudent(String name, long id, double gpa) {
this.name = name;
this.id = id;
this.gpa = gpa;
}
public String getName() {
return name;
}
@Override
public int compareTo(ComparableStudent o) {
int result = this.name.compareTo(o.getName());
if (result > 0){return 1;}
else if (result < 0){return -1;}
else {return 0;}
}
}
Demo 程式:
import java.util.Set;
import java.util.TreeSet;
public class Demo {
public static void main(String[] args){
Set<ComparableStudent> studentList = new TreeSet<>();
studentList.add(new ComparableStudent("Thomas Jefferson", 1111, 3.8));
studentList.add(new ComparableStudent("John Adams", 2222, 3.9));
studentList.add(new ComparableStudent("George Washington", 3333, 3.4));
for (ComparableStudent student : studentList){
System.out.println(student.getName());
}
}
}