Java-0015-集合排序Comparable接口与Comparator接口

2016.7.26

Comparable
一个实现了Comparable接口的对象的实例可以被用于和相同对象的不同实例做比较。
它本身需要实现java.lang.Comparable接口。
Comparator
一个实现了Comarator接口的对象能够对比不同的对象。
它不能用于同一个类的不同实例的对比,但是可以用于其他类的实例作比较,必须实现java.util.Compartor。

以我的理解来看
Comparable接口
是一个直接在实例类里实现的接口,实现后就能支持Collections.sort()、TreeSet和TreeMap的排序了,否则不能作为参数输入。
大体的意思就是在实例类里就定义了实例对象的排序方法。

Comparator接口
是一个在实例类外实现的接口,实现后也能支持Collections.sort()、TreeSet和TreeMap的排序。
它可以在Collections.sort()、TreeSet()和TreeMap()中以匿名内部类的方式实现排序方法。
若它的泛型实例类已经实现了Comparable接口,那也是执行Comparator里的方法而忽略Comparable里的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,419评论 11 349
  • 3.3 集合 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另...
    闫子扬阅读 766评论 0 1
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,307评论 0 16
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,552评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399