美文网首页
Jdk 8.0 新特性 Lambda表达式 List集合 for

Jdk 8.0 新特性 Lambda表达式 List集合 for

作者: 奇点一氪 | 来源:发表于2020-07-02 10:44 被阅读0次

    前言: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表达式,只用当两种结合时才能极大的提高编码效率。

    相关文章

      网友评论

          本文标题:Jdk 8.0 新特性 Lambda表达式 List集合 for

          本文链接:https://www.haomeiwen.com/subject/utmlqktx.html