Comparator可以比较的对象类型,是比较接口。
我们如果需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么我们就可以建立一个“该类的比较器”来进行排序,这个“比较器”只需要实现Comparator接口即可。
也就是说,我们可以通过实现Comparator来新建一个比较器,然后通过这个比较器对类进行排序。
这样说起来可能比较麻烦,我举个例子:
假如我们有一个Class叫Cat,Cat包括 String name; int age; int length等信息,而我们需要通过age进行排序并输出。
这里用java自带的排序方法肯定是不行的,所以要用到Comparator比较器:
Cat[] cats = {
new Cat("nnn",123,332);
new Cat("nnn2",1234,3324);
new Cat("nnn3",12344,33244);
}
Comparator<Cat> catcomparator = new Comparator<Cat>(){
@Override
public int compare(Cat c1,Cat c2){