Test 19

  • Stream流
    1. 根据数据源所产生的的元素序列
    2. 数据源: 集合,数组 ---> 侧重点在数据的存储
    3. stream流: -->关注数据的计算
    4. 注意:
      1. 流本身不能存储数据
      2. 流不能修改数据源中的数据
      3. 流是一次性的流,流是式操作的每一步都会返回一个持有结果的新流
      4. 延迟执行|惰性加载 : 当不进行终止行为时候,不会执行流式中间操作
    5. 过程:
      1. 获取|创建stream
        • 顺序流:
          1. Stream<Integer> stream = list.stream();

并行流:

Stream<Integer> stream2 = list.parallelStream();

      1. 流式中间操作
        • 筛选和切片
          1. filter-接收Lambda,从流中排除某些元素
          2. limit-截断流,使其元素不超过给定数量
          3. skip-跳过元素,返回一个扔掉了前n个元素的流,若流中元素不足n个,则返回一个空流。
          4. distinct-筛选,通过流所生产元素的hashCode()和equals()去除重复元素
          5. 排序:
            1. sorted(Comparable)-自然排序
            2. sorted(Comparator)-定制排序
          6.  映射:
            1. map : 将stream操作的每一个元素都作用与实参传递的函数,映射一个结果,返回操作结果的流
            2. flatMap : 将stream操作的每一个元素都作用与实参传递的函数,映射一个结果,结果必须为一个流,最终返回所有结果流结合以后的一个流
      2. 终止行为(返回的结果不在是stream)
        • 查找与匹配
          1. findAny-返回当前流中的任意元素
          2. count-返回流中元素的总个数
          3. max()
        • 收集 collect()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值