首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Comparable和Comparator

    出处comparable 接⼝实际上是出⾃ java.lang 包 它有⼀个 compareTo(Object obj) ⽅法进行排序comparator 接⼝实际上是出⾃ java.util 包它有⼀...(实体类实现)Comparator 是定制排序。(无法修改实体类时,直接在调用方创建)总结Java提供了只包含一个compareTo()方法的Comparable接口。这个方法可以个给两个对象排序。...Java提供了包含compare()和equals()两个方法的Comparator接口。compare()方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。...equals()方法需要一个对象作为参数,它用来决定输入参数是否和comparator相等。...只有当输入参数也是一个comparator并且输入参数和当前comparator的排序结果是相同的时候,这个方法才返回true。

    40420

    Comparable和Comparator的区别

    前面我们已经学习过Comparator和Comparable接口的使用,下面来总结一下二者的区别. 1、Comparator接口位于java.util包下,而Comparable接口位于java.lang...包下 2、对于Comparator接口,可以看到它的compare(O方法的参数是两个对象,比如我们队Cat类进行比较,那么这里就是两个要比较的Ca类的对象,所以可以有一个单独的类实现Comparator...因此,如果使用Comparator接口,那么要比较的类和实现Comparator接口的类可以分开,如果使用Comparable接口,那么要比较的类就要实现Comparable:接口才可以 3、关于应用场景...那么我们还希望通过age进行排序,这时不希望修改Cat类,那此时就需要使用Comparator接口了 因此,Comparable:接口可以作为实现类的默认排序算法,Comparator接口则用于一个类的扩展排序

    24930

    Java中Comparable和Comparator

    简介   Comparator是比较接口,:如果需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么就可以建立一个“该类的比较器”来进行排序,这个“比较器”只需要实现Comparator...也就是说,可以通过实现Comparator来新建一个比较器,然后通过这个比较器对类进行排序。...我们可以新建一个类,让其实现Comparator接口,从而构造一个“比较器"。...而Comparator是比较器,若需要控制某个类的次序,可以建立一个“该类的比较器”来进行排序。Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。   ...用Comparator 的好处是不需要修改源代码, 而是另外实现一个比较器, 当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并且在Comparator 里面用户可以自己实现复杂的可以通用的逻辑

    41820

    Comparable 和 Comparator的理解

    的解释 Comparator 相当于一个比较器,作用和Comparable类似,也是使用Collections.sort() 和 Arrays.sort()来进行排序,也可以对SortedMap 和...TreeSet 和 TreeMap的数据结构底层也是使用Comparator 来实现。不同于Comparable ,比较器可以任选地允许比较null参数,同时保持要求等价关系。...Comparable 和 Comparator 的对比 1、Comparable 更像是自然排序 2、Comparator 更像是定制排序 同时存在时采用 Comparator(定制排序)的规则进行比较...而对于一些自定义类,它们可能在不同情况下需要实现不同的比较策略,我们可以新创建 Comparator 接口,然后使用特定的 Comparator 实现进行比较。...参考: Java 中 Comparable 和 Comparator 比较 https://zhuanlan.zhihu.com/p/24081048 Java 解惑:Comparable 和 Comparator

    59730
    领券