Java8的流

    今天学习了Java8的流,做个总结。

   在我的理解中,Java8引入了函数式编程,所以Java8里有多了许多关于函数式编程的内容。流就类似于一个迭代器,用于高效操作集合的迭代器。在流中,Java8以函数式编程的方式内置了许多强大的api,让我们在处理集合时更加的方便,但是这些操作基于函数式编程的思想,所以对于我们Java程序员来讲需要一个思想的转换。

     首先,对于那些集合类调用stream方法就相当于创建了一个流,例如(  new ArrayList.stream()  ),然后我们就可以链式的调用强大的api了。先来看一些基本的方法。

                                                                                中间操作

  方法                     返回类型                                 操作参数             函数描述符    

  filter                      Stream                                    Predicate              T -> boolean               

   map                     Stream                                    Function                 T -> R

   limit                      Stream                         

   sorted                  Stream                                  Comparator              (T ,T) -> int

   distinct                 Stream                     

                                                                       终端操作

  forEach              遍历流中的每个元素,返回值为void

   count                返回流中的个数   返回值为long

   collect              把流规约成一个集合 (list ,map等)

   上面的中间操作的方法是指对于流中的每遍历到一个元素,都会执行一个。

    而终端操作只会在最后执行一次。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值