Jdk 8.0 新特性 Lambda表达式 List集合 forEach(->)

前言:Lambda使代码简洁,与stream搭配使用,能充分利用多核,实现真正的并行,如果数据量不大,只能起到简化代码的作用,性能方面并没有太突出的优势,甚至会比for循环差,因为程序第一次使用lamda的时候需要初始化一些lambda框架的东西,这些也要花费时间,而for循环就不需要这些时间开销,上来就能执行。当迭代的数据量大的时候,lambda性能优势就体现出来了。

Java SE8.0添加了2个对集合数据进行批量操作的包:java.util.function包以及java.util.stream包。流(stream)就如同迭代器(iterator)。总的来说,lambda表达式和stream是子java语言添加泛型(generica)和注解(annotation)以来最大的变化。


forEach(->)的使用

        //forEach的使用
        List<String> wordList=Lists.newArrayList();
        wordList.add("a");
        wordList.add("z");
        wordList.add("c");

        wordList.sort(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                //字母升序
                return o1.compareTo(o2);
            }
        });
        wordList.forEach(word->System.out.println(word));//相当于for循坏

        //用 Lambda 排序
        wordList.sort((String o1,String o2)->{
            return o1.compareTo(o2);
        });

stream的使用:

stream能够对集合对象进行各种串行或者并发聚集操作,依赖lambda表达式,只用当两种结合时才能极大的提高编码效率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南无南有

为绿色加绿叶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值