关于重写comparator接口

重写comparator接口

一般情况下,如果想对一个数组中的数据进行排序,数组中是int类型的数据的话,是比较简单的,直接使用Arrays.sort()方法就可以了,但是,如果想通过比较其他类型的数据,比如比较字符串的长度或是自己定义的类型,原本的sort方法就不能够满足了,这时我们就可以重写comparator接口方法。

以比较字符串数据长度为例:

//定义一个LengthComparator类继承Comparator接口
Class LengthComparator implement Comparator{
    public int compare(String first, String second){
        return first.length()-second.length();
    }
}
//假设arraylist为String类型数组
Arrays.sort(arraylist, new LengthComparator);
//这样就可以通过数组长度对数组进行排序
//或者也可以使用Lambda表达式,比较直观且不需要新建类
Arrays.sort(arraylist, (first,second)->{first.length()-second.length()});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容