1.Comparable
可以内嵌在类里边 实现 Comparable 接口重写 compareTo() 比较方法
class Goods implements Comparable{ //实现的接口
//重写的方法
@Override
public int compareTo(Object o) {
if(o instanceof Goods){
Goods goods = (Goods)o;
// this 当前为升序 前边比后边大返回1反之
if(this.price>goods.price){
return 1;
}else if(this.price<goods.price){
return -1;
}else{
return 0;
}
}
}
}
//调用方式
java.util.Arrays.sort(); //默认调用 类里面的 compareTo方法
2.Comparator
Arrays.sort(arr,Comparator) 方法
实现接口Comparator 中的compart 方法
Arrays.sort(arr, new Comparator<Goods>() {
@Override
public int compare(Goods o1, Goods o2) {
if(o1.getPrice()>o2.getPrice()){
return -1;
}else if (o1.getPrice()<o2.getPrice()){
return 1;
}else{
return 0;
}
}
});