天天看點

java.lang.Comparable<T> 接口

1.什麼是Comparable接口

此接口強行對實作它的每個類的對象進行整體排序。此排序被稱為該類的自然排序 ,類的 compareTo 方法被稱為它的自然比較方法 。實作此接口的對象清單(和數組)可以通過 Collections.sort (和 Arrays.sort )進行自動排序。實作此接口的對象可以用作有序映射表中的鍵或有序集合中的元素,無需指定比較器。 強烈推薦(雖然不是必需的)使自然排序與 equals 一緻。所謂與equals一緻是指對于類 C 的每一個 e1 和 e2 來說,當且僅當 (e1.compareTo((Object)e2) == 0) 與e1.equals((Object)e2) 具有相同的布爾值時,類 C 的自然排序才叫做與 equals 一緻 。

2.實作什麼方法

<dl><dd></dd></dl>

3.執行個體

4.與Comparator的差別

Comparator位于包java.util下,而Comparable位于包java.lang下,Comparable接口将比較代碼嵌入自身類中,而後者在一個獨立的類中實作比較。 如果類的設計師沒有考慮到Compare的問題而沒有實作Comparable接口,可以通過  Comparator來實作比較算法進行排序,并且為了使用不同的排序标準做準備,比如:升序、降序。

我們看一個Comparator的例子: