Java中Comparator和Comparable的区别
来源:互联网 发布:伏尔加河上的纤夫知乎 编辑:程序博客网 时间:2024/05/16 19:49
Comparable 简介
Comparable 是排序接口。
若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。
此外,“实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的键或“有序集合(TreeSet)”中的元素,而不需要指定比较器。
Comparable 定义
import java.util.*;
public interface Comparable<T> {
public int compareTo(T o);
package java.util;
public interface Comparator<T> {
int compare(T o1, T o2);
boolean equals(Object obj);
}
Comparable 是排序接口。
若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。
此外,“实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的键或“有序集合(TreeSet)”中的元素,而不需要指定比较器。
Comparable 定义
Comparable 接口仅仅只包括一个函数,它的定义如下:
代码如下:
package java.lang;import java.util.*;
public interface Comparable<T> {
public int compareTo(T o);
}
=====================================================
Comparator 简介
Comparator 是比较器接口。
我们若需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口);那么,我们可以建立一个“该类的比较器”来进行排序。这个“比较器”只需要实现Comparator接口即可。
也就是说,我们可以通过“实现Comparator类来新建一个比较器”,然后通过该比较器对类进行排序。
Comparator 定义
Comparator 接口仅仅只包括两个个函数,它的定义如下:
代码如下:
package java.util;
public interface Comparator<T> {
int compare(T o1, T o2);
boolean equals(Object obj);
}
====================================================
Comparator 和 Comparable 比较
Comparable是排序接口;若一个类实现了Comparable接口,就意味着“该类支持排序”。
而Comparator是比较器;我们若需要控制某个类的次序,可以建立一个“该类的比较器”来进行排序。
我们不难发现:Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。
0 0
- java中comparable和 comparator的区别
- java中Comparator 和 Comparable 的区别
- Java中Comparator和Comparable的区别
- Java中Comparable和Comparator的区别
- JAVA中Comparable和Comparator的区别
- Java中comparable和comparator的区别
- java 中Comparator和Comparable的区别和比较
- Java 中Collection和Collections 、Comparable 和Comparator的区别
- Java 中Comparable和Comparator区别比较
- Java 中Comparable和Comparator区别比较
- Java 中Comparable和Comparator区别比较
- Java中Comparable和Comparator区别小结
- Java 中Comparable和Comparator区别比较
- Java中Comparable和Comparator区别小结
- Java 中 Comparable 和 Comparator 区别
- Java中Comparable和Comparator区别
- Java中Comparable和Comparator区别小结
- Java 中Comparable和Comparator区别比较
- HDU2897( 巴什博奕变形)
- wince 注册表文件 platform.reg 详解
- 【Suspended】The Data Scientist’s Toolbox, Johns Hopkins, coursera
- IOS NSDictionary 转json
- Session变量不能传送到下一页.解决: session.use_trans_sid = 1
- Java中Comparator和Comparable的区别
- json_encode后的中文不编码成unicode
- 为RAC私有网络配置网卡Bonding
- Maven私服(一) - The nexus service was launched, but failed to start.
- wince环境安装+模拟器
- 题目1001:A+B for Matrices
- 在浏览器中输入网址后都发生了什么
- 游戏总体框架设计
- 高斯消元学习