jdk8-Stream流

Stream

  • 创建流

    • empty 创建空元素的stream
    • of 传入元素创建stream
    • iterate 通过UnaryOperator元算器,创建无限个元素的stream
    • generate 通过Supplier 提供函数接口,创建 无限个元素的stream
    • concat 合并多个流
  • 中间流

    • filter 过滤

    • map 一对一转换

    • flatMap 一对多转换

    • distinct 过滤去重, Object.equals(Object)(需要重写equals,hashcode)

    • sorted 排序 (要不是已经实现了Comparable接口重写方法,或者传入Comparator比较器)

    • peek 主要是非业务操作,比如调试等

    • limit 只取多少个就中断

    • skip 跳过元素

  • 终端流

    • forEach 循环

    • toArray 转数组

    • reduce 累积(传入BinaryOperator 运算器)

    • collect 收集器

      • R collect(Supplier supplier, BiConsumer<R,? super T> accumulator, BiConsumer<R,R> combiner)

        • supplier——最终结果容器。(可选)

          accumulator——计算临时结果的过。

          combiner——把临时结果导入最终容器。(可选)

          List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
          
      • <R,A> R collect(Collector<? super T,A,R> collector)

        • Collector 收集器接口 Collectors默认的一些收集策略
        Collectors
        - toList 转list
        - toSet	转set
        - joining 把元素拼接起来
        - groupingBy 元素进行分组
        - ......
        
    • min 传入Comparator比较器,获取最小值

    • max 传入Comparator比较器,获取最大值

    • count 获取元素个数

    • anyMatch 传入Predicate 断言 任意一个匹配上返回true

    • allMatch 传入Predicate 断言 全匹配上返回true

    • noneMatch 传入Predicate 断言 没匹配上返回true

    • findFirst 获取第一个元素

    • findAny 获取任意一个元素

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值