Comparable 和Comparator

public interface Comparable<T>

Comparable 是排序接口,強行對實現它的每個類的對象進行整體排序;實現此接口的對象列表(和數組)可以通過Collections.sort(和Arrays.sort)進行自動排序;實現此接口的對象可以用作有序映射中的鍵或有序集合中的元素,無需指定比較器。

public interface Comparable<T> {
    public int compareTo(T o);
}    //比較此對象與指定對象的順序,如果該對象小於、等於或大於指定對象,則分別返回負整數、零或正整數。

Comparator是比較器接口,我們若想控制某個類的次序,而該類本身不支持排序(即沒有實現Comparable接口),那麼可以建立一個該類的比較器進行排序,該比較器只要實現Comparator接口即可。

方法:

int compare(T o1,T o2){}//比較用來排序的兩個參數
boolean equals(Object obj){}//指示某個其他對象是否“等於”此Comparator 
一個類實現了Comparator接口,一定要實現compareTo(T o1,T o2)函數,但是可以不實現equals(Object obj)函數,因爲Object.java中實現了equals(Object obj)函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章