Java的Comparator接口和Comparable接口
1、Comparator接口
Comparator可以比较的对象类型,是比较接口。我们如果需要控制某个类的次序,而该类本身不支持排
序(即没有实现Comparable接口),那么我们就可以建立一个“该类的比较器”来进行排
序,这个“比较器”只需要实现Comparator接口即可。也就是说,我们可以通过实现
Comparator来新建一个比较器,然后通过这个比较器对类进行排序。
说明:
若一个类要实现Comparator接口:它一定要实现compare(T o1, T o2) 函数,但可以不实现 equals(Object obj) 函数。
int compare(T o1, T o2) 是“比较o1和o2的大小”,其中o1指的就是第一个要比较的对象, o2指的就是第二要比的对象。 比较之后会根据大小返回值。 返回“负数”, 意味着“o1比o2小”;返回“零”,意味着“o1等于o2”;返回“正数”,意味着“o1大于o2。
不重写 Object.equals(Object) 方法总是安全的。然而,在某些情况下,重写此方法可以允许程序确定两个不同的 Comparator 是否强行实施了相同的排序,从而提高性能。
总结:
写一个类实现Comparator接口
实现其中的compare方法,有两个泛型的参数(T o1,T o2)&#x