比较器Comparator

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 降序同理

    }
}
posted @   LaViez  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示