栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Stream API

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Stream API

了解Stream Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一 个则是 Stream API(java.util.stream.*) 。 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对 集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数 据库查询。也可以使用 Stream API 来并行执行操作。简而言之, Stream API 提供了一种高效且易于使用的处理数据的方式。 什么事Stream? 是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。 “集合讲的是数据,流讲的是计算!”

注意: ①Stream 自己不会存储元素。 ②Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream。 ③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。 Stream 的操作三个步骤

⚫ 创建 Stream

一个数据源(如:集合、数组),获取一个流 ⚫ 中间操作 一个中间操作链,对数据源的数据进行处理 ⚫ 终止操作(终端操作) 一个终止操作,执行中间操作链,并产生结果

 Steam的中间操作

多个中间操作可以连接起来形成一个流水线,除非流水 线上触发终止操作,否则中间操作不会执行任何的处理! 而在终止操作时一次性全部处理,称为“惰性求值”

筛选与切片

filter(Predicate p):

 limit:

(短路:一旦找到指定数量的数据后,就不再查询)

skip: 

(丢掉前两个)

distinct:(去重,需要在对象中重写hashCode和equals方法)

 映射

map:将流中的每一个元素都用到函数中,然后再生成一个结果。

flatMap:将流中每一个元素中的每一个值转换成一个流。

排序

sorted()--自然排序(Comparable)安装Comparable排序的

sorted(Comparator com)---定制排序(Comparator)

 终止操作:

终端操作会从流的流水线生成结果。其结果可以是任何不是流的值,例如:List、Integer,甚至void

查找与匹配

 

 归约

 reduce和map的链接在工作中应用比较多,通常称为map-reduce模式

收集

collect将流转换为其他形式。接收一个Collector接口的实现,用于给Stream中元素做汇总的方法。

 分组:

 

 分区:

 其他收集方式:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号