当前位置: 首页 > 知识库问答 >
问题:

Collections.Sort方法与Comparable和Comparator接口的重写方法之间的联系是什么?

晏德佑
2023-03-14

为了对对象的集合进行排序,我们有Comparable和Collection接口,因此我们覆盖了对象存储在Collection中的our类中接口的相应方法。但在排序时,我们调用Collections.sort(List)和Collections.sort(List,Comparator)类的静态方法对集合中的对象进行排序。所以我需要知道这个排序方法和我们重写的接口方法之间的联系是什么,sort方法内部是否调用这些overidden接口方法-compareTo/compare?

共有1个答案

魏煜祺
2023-03-14

我明白了为什么在对象集合的情况下需要比较器,但我只需要知道compareTo和compare方法是如何调用的?我们实际上是调用Collections.Sort方法,并将它传递给List和or比较器。

 类似资料:
  • 本文向大家介绍Java中Comparable和Comparator之间的区别,包括了Java中Comparable和Comparator之间的区别的使用技巧和注意事项,需要的朋友参考一下 比较器和比较器都是可用于对集合元素进行排序的接口。比较器接口属于java.util包,而可比较的接口属于java.lang包。比较器接口使用提供给它的两个对象进行排序收集,而可比较接口比较“this”是指提供给它

  • 本文向大家介绍浅析Java中comparator接口与Comparable接口的区别,包括了浅析Java中comparator接口与Comparable接口的区别的使用技巧和注意事项,需要的朋友参考一下 Comparable 简介 Comparable 是排序接口。 若一个类实现了Comparable接口,就意味着“该类支持排序”。  即然实现Comparable接口的类支持排序,假设现在存在“实

  • 本文向大家介绍C#中的方法重写和方法隐藏之间的区别,包括了C#中的方法重写和方法隐藏之间的区别的使用技巧和注意事项,需要的朋友参考一下 在C#中,有两种机制可以通过其子类重新定义或提供父类方法的新实现,这两种机制被称为“方法重写”和“方法隐藏”。现在,基于重新实现方法的方式,我们可以区分两者。 以下是方法重写和方法隐藏之间的重要区别。 序号 键 方法覆盖 方法隐藏 1 定义 方法重写是一种实现多态

  • 问题内容: 这个问题应该比关于更多。 我有一个子类(在python 2.7中,numpy 1.6.2),并且我发现在对象时未列出的字段名称(因此,ipython的自动完成功能无效)。 为了修复它,我尝试在子类中重写,如下所示: 结果是:。(我发现这里实际上应该在python 3.3中工作…) 作为一种解决方法,我尝试了: 据我所知,这是可行的,但当然并不优雅。 问题: 后一种解决方案对我而言是否正

  • 我有字符串的比较器,它被转换成日期。当我将这个比较器传递给集合时。sort()方法我得到了java。lang.IllegalArgumentException:比较法违反其总合同!。 我读过一些关于这个例外的文章,但我真的不明白为什么会出现这个例外。知道吗?

  • 本文向大家介绍对比Java中的Comparable排序接口和Comparator比较器接口,包括了对比Java中的Comparable排序接口和Comparator比较器接口的使用技巧和注意事项,需要的朋友参考一下 Comparable Comparable 是排序接口。 若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在