2013-03-04 28 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或单独的逻辑到不同比较。如果您正在使用第三方对象,并且您不想扩展它们以添加比较逻辑,则可以使用比较器。