comparable與comparator的區別

Comparable和Comparator的區別

Comparable

Comparable能夠認爲是一個內比較器,compareTo方法也稱爲天然比較方法
算法

實現Comparable接口的類有一個特色,就是這些類是能夠和本身比較,如何比較就是利用compareTo方法。對象

Compatator

Conparator能夠認爲是一個外比較器。接口

使用狀況:開發

  • 一個對象不支持本身和本身比較(沒有實現Comparable接口),可是又想對兩個對象進行比較
  • 一個對象實現了Comparable接口,可是開發者認爲compareTo方法中比較方法並非本身想要的

兩個比較器Comparable和Comparator,後者相對於前者的優勢:

1.實現Comparable接口的方式比實現Comparator接口的耦合性要強一點,若是要修改比較算法,後者則不須要對實現類有任何修改。class

2.若是compareTo方法內的比較算法不滿意,那麼能夠利用Comparator接口。可是當咱們想將實現類的.class文件打包成一個.jar文件提供給開發者的時候,這時候comparator就不太好。打包

相關文章
相關標籤/搜索