首页 > 其他分享 >比较器Comparator

比较器Comparator

时间:2023-01-03 16:25:24浏览次数:33  
标签:Comparator list 比较 排序 o2 o1

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

相关文章