1. 程式人生 > >Comparable 和 Comparator的比較

Comparable 和 Comparator的比較

Comparable是排序介面,若一個類實現了Comparable介面,就意味著“該類支援排序”。而Comparator是比較器,我們若需要控制某個類的次序,可以建立一個“該類的比較器”來進行排序。  Comparable相當於“內部比較器”,而Comparator相當於“外部比較器”。  兩種方法各有優劣, 用Comparable 簡單, 只要實現Comparable 介面的物件直接就成為一個可以比較的物件,但是需要修改原始碼。 用Comparator 的好處是不需要修改原始碼, 而是另外實現一個比較器, 當某個自定義的物件需要作比較的時候,把比較器和物件一起傳遞過去就可以比大小了, 並且在Comparator 裡面使用者可以自己實現複雜的可以通用的邏輯,使其可以匹配一些比較簡單的物件,那樣就可以節省很多重複勞動了。   上文轉自:

https://blog.csdn.net/qq_32575047/article/details/78959948   補充:   Comparable 是在集合內部定義的方法實現的排序; Comparator 是在集合外部實現的排序    Comparator位於包java.util下,而Comparable位於包java.lang下