Comparable是排序接口,若一个类实现了Comparable接口,就意味着“该类支持排序”。而Comparator是比较器,我们若需要控制某个类的次序,可以建立一个“该类的比较器”来进行排序。 Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。 两种方法各有优劣, 用Comparable 简单, 只要实现Comparable 接口的对象直接就成为一个可以比较的对象,但是需要修改源代码。 用Comparator 的好处是不需要修改源代码, 而是另外实现一个比较器, 当某个自定义的对象需要作比较的时候,把比较器和对象一起传递过去就可以比大小了, 并且在Comparator 里面用户可以自己实现复杂的可以通用的逻辑,使其可以匹配一些比较简单的对象,那样就可以节省很多重复劳动了。
上文转自:https://blog.csdn.net/qq_32575047/article/details/78959948
补充:
Comparable 是在集合内部定义的方法实现的排序; Comparator 是在集合外部实现的排序
Comparator位于包java.util下,而Comparable位于包java.lang下
详细解决方案
Comparable 和 Comparator的比较
热度:51 发布时间:2023-11-07 03:26:42.0
相关解决方案
- <T extends Comparable< super T>>该怎么解决
- 自定义类用比较器(Comparator)出错,怎么回事?
- 怎么理解 Java 中的 <T extends Comparable< super T>>
- java://Comparator、Comparable的用法(按照要求将地图集合的键值对进行顺序输出)
- Java://Comparator、Comparable的用法(依照要求将set集合的数据进行排序输出)
- <T extends Comparable< super T>>解决方法
- 新人,关于tree地图 自定义 comparator
- new TreeSet<String>(comparator) 不带有参数?这是什么意思呃。多谢
- 关于((Comparable)otherObject).compareTo(this);解决方案
- public class Server implements Comparable<Server>{}中<Server>是什么意思
- 下限通配符(Comparable <?super K>)
- java comparator
- 对象集合排序(需要implements Comparable)
- Comparable 和 Comparator的比较
- java 8 lambda 实现 Comparator
- Comparator 接口中方法里面的 (ComparatorT Serializable) 是什么意思?
- Comparator,Comparable的desc和asc
- compareTo()函数用法-Comparable
- java自学笔记:Comparable 和 Comparator
- Comparator 多参数排序
- java comparable comparator 比较器的使用 及 自定义比较器
- 7-4 jmu-Java-04面向对象进阶--02-接口-Comparator (20 分)
- Java 基础之 Comparable Comparator
- 我们常用的 Integer 内部为什么会去实现 Comparable 接口?
- [Java 11] Comparable 数组排序 之一 与 Comparator 数组排序之二
- java Comparable 和Comparator详解及 区别
- Java基础 -> Comparable/Comparator接口(自然/定制排序)
- Comparable,Comparator(interface);
- 6-1 jmu-Java-04面向对象进阶-01-接口-Comparable (5分)
- 22. Java比较器Comparable、Comparator