java8 streamApi详解

一、Stream流创建

 1、Stream.of(x,x,x,x,xx,);

 2、list.stream();

 3.   Array.stream( arr );

 4 、无限流:

     迭代:Stream.iterate(0,t -> t+5).limit(50).forEach(s -> System.out.println(s));

      

二、stream 中间操作

  1、筛选与切片

     ① filter过滤: li.stream().filter(i -> i>40).forEach(System.out::println);

      ② limit 截断:li.stream().limit(4).forEach(System.out::println);

      ③ skip 跳过   li.stream().skip(4).forEach(System.out::println);

     ④ distinct 去重  (根据hashcode和equals判断,必要时要重写)

                             li.stream().distinct ().forEach(System.out::println);

   2、映射

     ①map(Function f)、按照f的方法处理集合并返回一个新的集合

                              li.stream().map(s -> s.toUpperCase()).forEach(so::p);

     ②flatMap(Function f) 将传入值中的值重新写道一个新的流中

  3、排序

    ①、sorted()自然排序 

    ②、sorted(Comparator com)定制排序,要实现Comparator 接口 

  三、终止操作

   1、匹配与查找

     ①、allMatch(function f)是否都满足f,返回boolean

     ②、anyMatch(function f)只要有一个满足就可以  返回boolean

     ③、nonematch (function f) 是否一个都不匹配   返回boolean

     ④、findFirst() 返回第一个值,返回optional对象

     ⑤、findAny ()返回任意一个

     ⑥、count() 求和

     ⑦、max(comparetor con)

     ⑧、min() 

    2、归约

      ①、reduce(T,function(T,T))

    3、收集

       collect(Collector c)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值