lambda表达式的Stream流

JDK8为Collection新添加了Stream流,跟我们以往的IO流或者XML处理中的流没有任何关系,是一个船新针对集合数据进行便捷高效的聚合操作与大批量数据处理操作
Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。

Stream stream();流,Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,
它更像一个高级版本的 Iterator。

获取迭代器 Iterator it = collection.iterator();
获取Stream流 Stream<> st = collection.steam();

原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;
高级版本的 Stream,用户只要给出需要对其包含的元素执行什么操作,比如 “过滤掉长度大于 10 的字符串”、
“获取每个字符串的首字母”等,Stream 会隐式地在内部进行遍历,做出相应的数据转换。

map 方法用于映射每个元素到对应的结果
flatMap 把 input Stream 中的层级结构扁平化,就是将最底层元素抽出来放到一起
filter方法用于通过设置的条件过滤出元素。
forEach 方法接收一个 Lambda 表达式,然后在 Stream 的每一个元素上执行该表达式
reduce的作用是把 Stream 元素组合起来。它提供一个起始值(种子),然后依照运算规则(BinaryOperator),
和前面 Stream 的第一个、第二个、第 n 个元素组合
limit 返回 Stream 的前面 n 个元素;skip 则是扔掉前 n 个元素。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值