Comparator
用于定义比较集合数据的标准 -- 实现集合数据排序时常用
public class Sort {
public static void main(String[] args) {
//TODO Collection 比较器排序
ArrayList list = new ArrayList();
list.add(1);
list.add(3);
list.add(2);
//TODO .sort()方法排序 需要传递一个实现比较器接口的对象
//比较器实现将集合中的数据进行两两比较 -- 自定义比较标准
//由于集合数据的类型多样,比较的标准需要作为参数传入排序方法
list.sort(new NumberComparator());
System.out.println(list);
}
}
//TODO 自定义实现比较器接口的类
class NumberComparator implements Comparator<Integer>{
//快捷键 ctrl+o 根据泛型重写比较方法
@Override
public int compare(Integer o1, Integer o2) {
return o1-o2; //表示升序
//return o2-o1; //表示降序
//只有return a-b>0 才会调换a与b的顺序
//因此 o1-o2 当 o1>o2 时交换位置 形成升序
//o2-o1 降序同理
}
}
标签:Comparator,list,比较,排序,o2,o1
From: https://www.cnblogs.com/Ashen-/p/17022549.html