有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在自定义排序中具有可比性,而不是比较器

当我在Java中搜索Comparable和Comparator接口之间的差异时,大多数时候我得到的答案是Comparator可以用于定制排序。你能回答以下问题吗? 1)为什么我们不能在定制排序中使用Compariable而不是Compariator(最后两者都有一个比较后返回int的方法。)

注意:请坚持这个问题。我不是在寻找这两个接口的定义


共 (1) 个答案

  1. # 1 楼答案

    ComparableComparator都可以用于自定义排序,但它们的用法有所不同

    • Comparable接口可用于提供一种排序方式 而Comparator接口可用于提供多种 分类

    • 对于使用Comparable,类需要实现它,而对于使用Comparator,我们不需要对类进行任何更改

    • 对于使用Comparable,我们不需要在客户端进行任何代码更改。数组。排序()或集合。sort()方法自动使用类的compareTo()方法。 但是,要使用Comparator,客户机需要提供在compare()方法中使用的Comparator

    因此,基于上述需求,您可以选择Comparable接口或Comparator接口