Comparable與Comparator

Comparable接口只包含一個comparaTo(obj)方法,它由待排序的對象自身實現該接口。

 

Comparator接口含有compara(obj1,obj2)和equal()兩個方法,它由一個單獨的類繼承該接口實現比較器的作用,其中equal()方法一般不用實現,應爲根基類已經有一個equal()方法,故子類不必再覆蓋該方法。

 

程序設計最基本的原則就是:將不變的代碼與可變的代碼分離。排序算法是不變的,而排序算法中的比較是隨比較的對象不同而各不相同的,故我們只需重寫比較器,實現對不同對象的排序。

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