码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA比较器:Comparable和Comparator

时间:2015-08-30 17:11:37      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

一、Comparable接口

    1、public interface Comparable{

           public int compareTo(Object other);

       }

    2、当本对象小于、等于或大于other对象时,相应返回一个小于、等于或大于0的值。

    3、若对象不可比较,抛出ClassCastException

    4、compareTo()定义的顺序是类的自然顺序,即此排序对类的对象来说是最自然的。

    5、equals()定义一种自然相等关系,两个对象相等,返回ture。

    6、许多类:String、Date、java.io.Fil、及包装类都实现该接口。

二、Comparator接口

    1、public interface Comparator<T>{

           public int compare(T o1, To2);

           Boolean equals(Object obj);

       }

2、没有实现Comparable接口的类,或实现Comparable接口的类不想使用compareTo()进行比较,则可以使用Comparator接口去进行比较(我们需要实现该接口),而在

   compare()定义的顺序则称为比较器顺序。

3、用于对集合的整体排序。强行对某些collection对象的元素进行整体排序,例如:TreeMap、TreeSet、SortedMap、SortedSet,都可以向这些集合对象指定一个比较器。

三、何处需要比较器

    1、需要比较的类,相同类对象间使用Comparable并且由该类实现,而不同类间或整体排序使用Comparator。

    2、需要排序的集合

JAVA比较器:Comparable和Comparator

标签:

原文地址:http://www.cnblogs.com/oo-lab/p/4770995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!