JAVA8新特性(二)

Stream API

  • 一个数据源获取一个流
  • 中间操作链对数据源的数据进行处理
  • 一个终止操作,执行中间操作链,并产生结果
  • 三个操作步骤:
    • 创建stream
      • 四种方法创建stream
        • 通过Collection系列集合提供的stream()【串行流】和parallelStream()【并行流】
        • 通过Arrays中的静态方法stream()获取数组流
        • 通过Stream类中的静态方法of()
        • 创建无限流
          • 迭代   itreate()
          • 生成  generate()
    • 中间操作
      • 筛选与切片
        • filter --- 接收lambda,从流中排除某些元素
        • limit --- 截断流,使其元素不超过给定数量
        • skip --- 跳过元素,返回一个扔掉了前n个元素的流,若流中元素不足n个,则返回一个空流,与limit(n)互补
        • distinct ---- 筛选,通过流所生成的元素的hashcode()和equals()去除重复元素
      • 映射
        • map --- 接收lambda,将元素转换成其他形式或提取信息,该函数会被应用到每个元素上,并将其映射下还能一个新的元素
        • flatMap ---- 接收一个函数作为参数,将流中的每个值都换成另一个流,然后把所有流连接成另外一个流
      • 排序
        • sorted() ---  自然排序
        • sorted(Conparator com)  ---  定制排序
    • 终止操作
      • allMatch ---- 检查是否匹配所有元素
      • anyMatch ---- 检查是否至少匹配一个元素
      • nonaMatch ----  检查是否没有匹配所有元素
      • findFirst ---- 返回第一个元素
      • findAny ----  返回当前流中任意元素
      • count ----  返回流中元素的总个数
      • max  ----- 返回流中最大值
      • min ---- 返回流中最小值
      • 归约
        • reduce(T identity,BinaryOperator)/reduce(BinaryOperator) ---- 可以将流中元素反复结合起来,得到一个值
        • collect ---- 将流转换为其他形式,接收一个Collector接口的实现,用于给stream中元素做汇总的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值