Jdk 8.0 新特性 Lambda表達式 List集合 forEach(->) sort排序

前言:Lambda使代碼簡潔,與stream搭配使用,能充分利用多核,實現(xiàn)真正的并行,如果數據量不大,只能起到簡化代碼的作用,性能方面并沒有太突出的優(yōu)勢,甚至會比for循環(huán)差,因為程序第一次使用lamda的時候需要初始化一些lambda框架的東西,這些也要花費時間,而for循環(huán)就不需要這些時間開銷,上來就能執(zhí)行。當迭代的數據量大的時候,lambda性能優(yōu)勢就體現(xiàn)出來了。

Java SE8.0添加了2個對集合數據進行批量操作的包:java.util.function包以及java.util.stream包。流(stream)就如同迭代器(iterator)??偟膩碚f,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能夠對集合對象進行各種串行或者并發(fā)聚集操作,依賴lambda表達式,只用當兩種結合時才能極大的提高編碼效率。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容