JAVA8新特性之中间操作一

一:简介

        JAVA8新特性之中间操作一_第1张图片
        JAVA8新特性之中间操作一_第2张图片
        JAVA8新特性之中间操作一_第3张图片

二:筛选与切片

        1:filter接收Lambda,从流中排除某些元素
              JAVA8新特性之中间操作一_第4张图片
             效果:
                

         2:截断流,使元素不超过给定的数量值
               JAVA8新特性之中间操作一_第5张图片  
              效果:
                 JAVA8新特性之中间操作一_第6张图片

          3:skip(n),跳过元素,返回一个扔掉了前N个元素的流,若流中的元素不足n个,
                则返回一个空流,与limit(n)互补。
                JAVA8新特性之中间操作一_第7张图片
               效果:
                   

         4:distinct,筛选,通过流所生成元素的HashCode()和equals()去除重复元素,
               注意:要让distinct起作用,就必须在对应实体类中重写HashCode和equals方法。
               JAVA8新特性之中间操作一_第8张图片
              JAVA8新特性之中间操作一_第9张图片
             效果:
               JAVA8新特性之中间操作一_第10张图片

三:映射

      1:map,接收Lambda,将元素转换成其它形式或提取信息。接收一个函数作为参数,
           该函数会被应用到每个元素上,并将其映射成一个新的元素。
           JAVA8新特性之中间操作一_第11张图片
            效果:
                 JAVA8新特性之中间操作一_第12张图片

       2:flatMap,接收一个函数作为参数,将流中的每一个值都换成另一个流,然后把所有流
             连接成一个流。
              JAVA8新特性之中间操作一_第13张图片
              JAVA8新特性之中间操作一_第14张图片
             效果:
                JAVA8新特性之中间操作一_第15张图片
             注释:可以发现我们在使用map和flatMap的效果是一样的,但是使用flatMap明显
                        方便很多,map函数调用时,一个元素返回一个流,而flatMap会将所有的
                        流连接成一个流,显得很方便。

       3:这个map和flatMap类似于list集合中add和addAll
             JAVA8新特性之中间操作一_第16张图片    
            效果:
               JAVA8新特性之中间操作一_第17张图片

     

上一篇: JAVA8新特性之Stream简介以及创建

下一篇:JAVA8新特性之中间操作二

文章目录
           
               

      
             
               

 

 

 

 

 

 

你可能感兴趣的:(java8)