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

java两种比较器总结

时间:2015-05-05 16:05:05      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

【Comparable和Comparator源码】

java.lang.Comparable
    
public interface Comparable<T> {
    public int comparaTo(T o);
}

------------------------------------------------------------------

java.util.Comparator

public interface Comparator<T> {
    int compare(T o1,T o2);
    boolean equals(Object obj);
}

【Comparable接口】

若一个类实现了Comparable接口,就意味着该类支持排序。假设存在实现了 Comparable接口的类的对象的List列表(或数组),则该List列表(或数组)可以通过Collections.sort(或Arrays.sort)进行排序。

【Comparator接口】

我们需要控制某个类的次序,而该类不支持排序(即没有实现Comparable接口)。那么,我们可以创建一个该类的比较器,这个比较器只需要实现Comparator。若一个类实现了Comparator接口,则它一定要实现compare(T o1,T o2)方法,但不一定要实现equals(Object obj)方法;

【两者比较】

1.Comparable是排序接口;若一个类实现了Comparable接口,就意味着“该类支持排序”;而Comparator是比较器;我们若需要控制某个类的次序,可以建立一个“该类的比较器”来进行排序。

2.Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。

 

java两种比较器总结

标签:

原文地址:http://www.cnblogs.com/hwu2014/p/4479211.html

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