2013-03-04 31 views
0

是什麼可比性,比較接口之間以及在條件的差異,其如果你自己的排序對象應使用使用可比性和比較器接口的

+0

http://stackoverflow.com/questions/1440134/java-what-is-the-difference-between-implementing-comparable-and-comparator – BobTheBuilder 2013-03-04 15:58:15

+0

http://stackoverflow.com/questions/420223/what-is -the-差和-的compareTo間比較 – BobTheBuilder 2013-03-04 15:58:55

回答

1

Comparable是定義對象自然排序的接口。例如,根據字典順序,String實現Comparable,Integers根據數字順序實現Comparable。如果某個類具有可比性,則這將成爲應用於其實例的默認順序(例如,在二進制搜索,排序或SortedMap中)。

比較器定義了一個獨立的比較機制,它有時可以替代元素的自然排序。例如,您可以對字符串使用不同的排序邏輯,並將其用於排序字符串數組。

1

,你有一個選擇,在他們實施Comapreble或單獨的邏輯到不同比較。如果您正在使用第三方對象,並且您不想擴展它們以添加比較邏輯,則可以使用比較器。