Comparable 和 Comparetor 的区别

引入概念:

   Java中除了比较基本数据类型的数据以及String等已有排序规则的对象外,还需要对自定义类的对象进行排序,此时就引入了Comparable接口和Comparetor接口。

Comparable接口:

  自然排序,实现该接口后需要在类中重写该接口的CompareTo方法,对该类的实例对象比较规则进行定义。以后该类的对象在任何地方都可以调用CompareTo(),根据该规则进行比较。

  CompareTo( Object obj)方法的返回值为int类型,在规定好排序规则后,返回正整数时表示this对象比obj大,负整数是表示this对象比obj小,零是表示this对象与obj相同。

Comparetor接口:

  定制排序,当在某一场景下,该类的排序规则不满足当前排序需求时,可以实现该接口,重写Compare()方法,对排序规则进行重新制定。临时性的满足当前排序需求。

  Compare( Object obj1 ,Object obj2)方法的返回值为int类型,在规定好排序规则后,返回正整数时表示obj1对象比obj2大,负整数是表示obj1对象比obj2小,零是表示obj1对象与obj2相同。

posted @ 2019-11-28 12:12  战胜橘子  阅读(701)  评论(0)    收藏  举报