两者都可用来在定义比较方法,然后用在排序中。 Comparable是类本身继承的接口 Comparator实在类外定义一个排序的类 比较而言,觉得Comparator更灵活一些,但是Comparable方便一些。 举个栗子: 输出: 对于一些已经写好的类,比如String,我们当然不能去修改它的co ...
分类:
其他好文 时间:
2017-03-13 11:37:06
阅读次数:
207
Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparabl ...
分类:
其他好文 时间:
2017-03-08 20:23:37
阅读次数:
210
注意: 如果hashSet存储自定义对象,一定要重写hashCode()&&equals() 如果TreeSet存储自定义对象,让元素所属的类实现自然排序接口Comparable,并重写CompareTo()/让集合的构造方法接收一个比较器接口的子类对象Comparator root = new E ...
分类:
编程语言 时间:
2017-02-28 14:00:54
阅读次数:
219
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 这个算法没有看懂。 大概的解释 Comparator接口,两个对象要使用compareTo方法比较大小,就必须实现Comp ...
分类:
编程语言 时间:
2017-02-27 19:09:09
阅读次数:
251
package com.JiHeTotal; import java.util.Comparator; import java.util.Map; import java.util.Map.Entry; public class MyComparator implements Comparator>... ...
分类:
其他好文 时间:
2017-02-26 08:09:59
阅读次数:
137
在 JDK 7 版本以上, Comparator 要满足自反性,传递性,对称性,不然 Arrays . sort ,Collections . sort 会报 IllegalArgumentException 异常。说明:1 ) 自反性: x , y 的比较结果和 y , x 的比较结果相反。2 ) ...
分类:
其他好文 时间:
2017-02-10 20:17:38
阅读次数:
3235
User是一个普通的pojo类 UserCompare是一个实现了Comprator的类 现在我们有一个需求:给一个user组成的list 按照user的年龄排序。实现不难,代码如下: 这种方法由于sort方法的第二个参数是Comparator 所以你要写一个实现类(我这里是UserCompare类 ...
分类:
编程语言 时间:
2017-01-27 22:15:30
阅读次数:
382
Comparable Comparable是由需要比较的类自己实现(implements)此接口,并实现其中的compareTo方法,之后对象可直接使用Collection.sort方法进行排序等 Comparator Comparator是在需要比较类的外面自定义的一个比较器,并实现compare ...
分类:
其他好文 时间:
2017-01-23 19:00:27
阅读次数:
206
package com.cn;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;impo ...
分类:
其他好文 时间:
2017-01-14 10:18:32
阅读次数:
237
一、首先介绍lucene涉及到的排序过程 1.1、如何自定义排序对象 你可以自定义collector对象; 亦可以自定义comparator对象; 可以自定义scoredoc对象,决定如何处理结果集合; 1.2、这几种自定义之间有何区别? 自定义collector和comparator有什么区别呢? ...
分类:
Web程序 时间:
2016-12-25 07:37:06
阅读次数:
552