Comparable是一個接口,它有一個compareTo()方法,用于定義對象之間的自然順序。實現了Comparable接口的類可以直接調用Collections.sort()方法對對象進行排序。
Comparator也是一個接口,它有一個compare()方法,用于定義對象之間的定制順序。實現了Comparator接口的類可以創建多個比較器,用于不同的排序需求。在調用Collections.sort()方法時,可以通過傳入Comparator對象來實現定制排序。
總結起來,Comparable是對象自己實現的排序規則,而Comparator是由外部實現的排序規則。Comparable定義的排序規則是對象的自然排序,而Comparator定義的排序規則是按照外部需求定制的排序。