Java8 Comparator

java8 Comparator比较器的使用


//下面做一个排序的例子,来讲解Collection中的sort
        List<String> names = Arrays.asList("zhangsan", "lisi", "wangwu");
        /*Collections.sort(names, new Comparator<String>(){
            @Override
            public int compare(String o1, String o2) {
                return o2.compareTo(o1);//倒叙
            }
        });
        System.out.println("names = [" + names + "]");*/

        //用JDK8中Limbda的写法,
        /*Collections.sort(names, (String o1, String o2) -> {
            return o2.compareTo(o1);//倒叙
        });
        System.out.println("names2 = [" + names + "]");*/

        //其实因为JVM会根据names里面都是String类型,推断出o1,o2的类型,所以可以省列
        /*Collections.sort(names, (o1, o2) -> {
            return o2.compareTo(o1);//倒叙
        });
        System.out.println("names2 = [" + names + "]");*/

        /*Collections.sort(names, (o1, o2) -> o2.compareTo(o1));
        System.out.println("names2 = [" + names + "]");*/

        //更加符合Java8新特性的的写法是:
        Collections.sort(names, Comparator.reverseOrder());
        System.out.println("names3 = [" + names + "]");


        //在这里我们看到body只有一条语句的时候可以写成o2.compareTo(o1),不需要括号,不需要return,我们称之为expression
        //还有一种statement 则必须写全:{return o2.compareTo(o1);}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值