此接口強行對實現它的每一個類的對象進行總體排序。這種排序被稱爲類的天然排序,類的 compareTo 方法被稱爲它的天然比較方法。java
實現此接口的對象列表(和數組)能夠經過 Collections.sort
(和 Arrays.sort
)進行自動排序。實現此接口的對象能夠用做有序映射中的鍵或有序集合中的元素,無需指定比較器。數組
int compareTo(T o)
public class Student implements Comparable<Student>{
private int sid; //學號
private String sname; //姓名
private double score; //分數測試
public int compareTo(Student s) {
if(this.score>s.getScore()){
return 1; //正整數是大於
}else if(this.score<s.getScore()){
return -1;//負整數是小於
}else{
return 0; //0爲等於
}
}this
public class TestCom {
public static void main(String[] args) {
Student s1=new Student(101, "小強", 89.5);
Student s2=new Student(102, "大強", 56.5);
Student s3=new Student(103, "小飛", 90);spa
List<Student> slist=new ArrayList<Student>();
slist.add(s1);
slist.add(s2);
slist.add(s3);code
System.out.println("排序前-------------------");
for (Student s : slist) {
System.out.println(s.getScore());
}對象
Collections.sort(slist);排序
System.out.println("排序後-------------------");
for (Student s : slist) {
System.out.println(s.getScore());繼承
System.out.println("最高分爲"+slist.get(slist.size()-1).getScore());接口
排序前-------------------
89.5
56.5
90.0
排序後-------------------
56.5
89.5
90.0
最高分爲90.0
總結:咱們能夠使用Comparable接口中的compareTo方法使本來沒法比較的對象經過某種自身條件來排序.
---部份內容摘自API_1.6