Java8新特性之Lambda:比较器示例

本文介绍了Java8中的Lambda表达式,通过示例对比了使用Lambda简化比较器的方法,展示了如何使用Lambda进行排序操作,指出Lambda表达式让代码更简洁,适合Java开发者学习进阶。
摘要由CSDN通过智能技术生成

Java8已经出来有一段时间了,却一直没有来得及去看看他有些什么新奇的东西。最近无意之中看到之前自己收藏的一本书《Java 8 in Action》,感觉写得不错,给大家推荐一下,示例比较多,需要的同学可以下载,已经上传到CSDN:http://download.csdn.net/detail/qq_26718271/9754904
今天先看看Lambda 表达式的简单使用:
首先:Lambda表达式的基本语法:(parameters) -> expression或(请注意语句的花括号)
(parameters) -> { statements; }
第一感觉就是这个箭头感觉有点怪,不过多用几次习惯就好,它主要是为了把参数列表与Lambda主体分隔开,箭头左边的是参数列表,右边的是Lambda主体。注意:Lambda表达式可以包含多行语句。
在用Lambda 之前,我们先看看之前写比较器的写法

Comparator<Developer> byName = new Comparator<Developer>() {
    @Override
    public int compare(Developer o1, Developer o2) {
        return o1.getName().compareTo(o2.getName());
    }
};

感觉也不是很复杂,没几行代码,再来看看Lambda 表达式的写法:

Comparator<Developer> byName =
    (Developer o1, Developer o2)->o1.getName().compareTo(o2.getName());

比之前要简单许多有木有。
下面再来看看排序功能示例:
先用Collections.sort如下:

public class TestSorting {
    public static void main(String[] args) {
        List<Developer> listDevs = getDevelopers();
        System.out.println(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值