三、JDK1.8新特性之Stream

三、JDK1.8新特性之Stream

1.Stream

  • 流(Stream)是对集合或数组中数据的操作,通过一系列操作得到最终想要的数据。

2.Stream特点

  • 操作是延迟执行的(只有需要结果时才会执行操作–终止操作)
  • 不会存储元素。
  • 不会该改变原对象,只是返回一个新的Stream流。

3.操作流程

  • 创建一个流–>操作(转换成新流)–>终止(执行操作并得到结果)

4.使用

  • 创建Stream(常用)
    • Collection接口中的stream()–串行流和parallelStream()–并行流方法获取流
    • Arrays工具类中的stream()方法
  • 操作
    • filter:过滤,按照一定的条件筛选满足条件的数据;
      • 源码:Stream filter(Predicate<? super T> predicate);
    • limit:截取流中的元素,只取前几个
      • 源码:Stream limit(long maxSize);
    • skip:跳过流中的前n个元素,只取后面全部的元素
      • 源码:Stream skip(long n);
    • distinct:去重
    • sorted:对流中的元素进行排序
      • 源码:
        Stream sorted();
        Stream sorted(Comparator<? super T> comparator);
    • map:将数据映射成另外的数据
      • 源码: Stream map(Function<? super T, ? extends R> mapper);
    • parallel:获取并行流
  • 终止
    • forEach:遍历数据
    • min:求最小
    • max:求最大
    • count:数量大小
    • collect:将数据收集起来
    • reduce:规约
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值