0

可比较接口和比较器接口有什么区别,应该在什么条件下使用

4

2 回答 2

1

如果您拥有排序对象,您可以选择在其中实现 Comapreble 或将逻辑分离到不同的比较器中。如果您正在使用第三方对象并且不想扩展它们以添加比较逻辑,则使用 Comparator。

于 2013-03-04T16:00:32.963 回答
1

Comparable 是定义对象自然排序的接口。例如,String 按照字典顺序实现 Comparable,Integers 按照数字顺序实现 Comparable。如果一个类具有可比性,这将是应用于其实例的默认顺序(例如,在二分查找、排序或 SortedMap 中)。

比较器定义了一个独立的比较机制,它有时可以替代元素的自然排序。例如,您可以对字符串使用不同的排序逻辑,并将其用于对字符串数组进行排序。

于 2013-03-04T16:02:06.197 回答