Comparable和Comparator

出处

comparable 接⼝实际上是出⾃ java.lang 包 它有⼀个 compareTo(Object obj) ⽅法进行排序

comparator 接⼝实际上是出⾃ java.util 包它有⼀个 compare(Object obj1, Object obj2) ⽅法进行排序

排序

Comparable 自然排序。(实体类实现)

Comparator 是定制排序。(无法修改实体类时,直接在调用方创建)

总结

Java提供了只包含一个compareTo()方法的Comparable接口。这个方法可以个给两个对象排序。具体来说,它返回负数,0,正数来表明已经存在的对象小于,等于,大于输入对象。

Java提供了包含compare()和equals()两个方法的Comparator接口。compare()方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。equals()方法需要一个对象作为参数,它用来决定输入参数是否和comparator相等。只有当输入参数也是一个comparator并且输入参数和当前comparator的排序结果是相同的时候,这个方法才返回true。

对于一些普通的数据类型(比如 String, Integer, Double…),它们默认实现了Comparable 接 口,并实现了 compareTo 方法,可以直接使用。

posted @ 2022-10-08 10:25  leepandar  阅读(22)  评论(0编辑  收藏  举报