Comparator 和 Comparable 比较:
1.Comparable是排序接口;若一个类实现了Comparable接口,就意味着“该类支持排序”。
(作用在实体类上)
2.而Comparator是比较器;我们若需要控制某个类的次序,可以建立一个“该类的比较器”来进行排序。
(作用在排序类上)
总结:Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。
创建一个实体类House,属性(面积,总价),创建一个房屋数组,里面有5套房子,分别使用两个不同的比较器,和数组工具类,对房屋进行排序,可以按照总价或面积进行排序。
package com.comparable;
public class House implements Comparable<House>{
@Override
public int compareTo(House o) {
return Double.compare(this.getArea(),o.getArea());
}
@Override
public String toString() {
return "House{" +
"area=" + area +
", money=" + money +
'}';
}
private double area;
private double money;
public House(double area,double money){
}
public House(){
}
public double getAre