Java8新特性之Stream API

概述

Stream API 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用fork/join并行方式来拆分任务和加速处理过程。总得来说,Stream API 就是提供了一种高效且易于使用的处理数据的方式。

注:需要会使用 Lambda 表达式 地址


Stream 的流

Stream 不是集合元素,它不是数据结构并不保存数据,而属于流。
流是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。
区别:集合注重的是数据的保存,而流注重的是数据的计算

Stream 流的特点:

  • 不会存储元素
  • 不会改变源对象
  • 操作是延迟执行的

流的使用步骤:

  • 获取一个数据源
  • 数据转换,即中间操作
  • 执行操作获取想要的结果并终止操作

通过数据源创建 Stream 流
1.Collection

		List<String> list = new ArrayList<>();
		Stream<String> stream1 = list.stream();
		Stream<String> stream2 = list.parallelStream();

注:parallelStream获取的是并行执行的流,底层使用的是 ForkJoin框架
2.数组

		Stream<T> stream3 = Arrays.stream(T array);//int,long,double

3.值

		Stream<String> stream4 = Stream.of("a","b","c");

4.函数(无限流)

		Stream<Integer> stream5 = Stream.iterate(0, (x) -> x + 2);
		Stream<String> stream6 = Stream.generate(() -> Math.random(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值