Java基础知识之比较器Comparator

一. 比较器的用法:

举例说明:

public class ComparatorTest{
    public static void main(String args[]){
        String[] strs = {"Hello" ,"world","I","love","java"};
        Arrays.sort(strs,new Comparator<String>(){
            public int compare(String s1,String s2){
                return s1.compareTo(s2)>0?1:-1;
            }
        });
        System.out.println(Arrays.toString(strs));
    }
}

比较器的用法大概用在两个地方,一个就是Arrays.sort(String[] ,Comparator<T>);一个就是Collections.sort(List<T>,Comparator<T>);

运行结果是:

[I, hello, hello, java, love, world]

二.关于比较后的顺序

取上面的代码为例:s1 指的是参数列表前面的数,s2 指的是参数列表后面的数,比较的结果是升序还是降序取决于下面这段代码:

return s1.compare(s2)>0?1:-1;

如果s1.compare(s2) >0 ,则说明整个数组是降序的,此时返回值 选择 1,表示需要进行再排序,则表示要将数组升序排序;

如果返回值选择 -1,表示不需要再排序,则表示将数组按原来的降序排序。所以上面的代码是升序排序的。

 

参考:https://blog.csdn.net/u013066244/article/details/78895747

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值