可比较和比较器接口之间的差异以及应该使用哪种条件
答案 0 :(得分:1)
如果您拥有排序对象,您可以选择在其中实现Comapreble或将逻辑分离到不同的Comparator中。如果您正在使用第三方对象,并且您不想扩展它们以添加复制逻辑,则使用Comparator。
答案 1 :(得分:1)
Comparable是定义对象自然排序的接口。例如,String根据字典顺序实现Comparable,Integers根据数字顺序实现Comparable。如果一个类具有可比性,那么这将是应用于其实例的默认顺序(例如,在二进制搜索,排序或SortedMap中)。
比较器定义了一种独立的比较机制,它有时可以替代元素的自然排序。例如,您可以对字符串使用不同的排序逻辑,并将其用于排序字符串数组。