首页 > 其他分享 >Stream

Stream

时间:2022-11-10 01:33:05浏览次数:34  
标签:返回 Stream stream 处理 元素 对象

Stream

概括的的将Stream可以分为三种类型

创建Stream流:主要负责新建一个Stream流,或者基于现有的数组、List、Set、Map等集合类型对象创建出新的Stream流。

API 功能说明
stream() 创建出一个新的stream串行流对象
parallelStream() 创建出一个可并行执行的stream流对象
Stream.of() 通过给定的一系列元素创建一个新的Stream串行流对象

中间处理:负责对Stream进行处理操作,并返回一个新的Stream对象,中间管道操作可以进行叠加

API 功能说明
filter() 按照条件过滤符合要求的元素, 返回新的stream流
map() 将已有元素转换为另一个对象类型,一对一逻辑,返回新的stream流
flatMap() 将已有元素转换为另一个对象类型,一对多逻辑,即原来一个元素对象可能会转换为1个或者多个新类型的元素,返回新的stream流
limit() 仅保留集合前面指定个数的元素,返回新的stream流
skip() 跳过集合前面指定个数的元素,返回新的stream流
concat() 将两个流的数据合并起来为1个新的流,返回新的stream流
distinct() 对Stream中所有元素进行去重,返回新的stream流
sorted() 对stream中所有的元素按照指定规则进行排序,返回新的stream流
peek() 对stream流中的每个元素进行逐个遍历处理,返回处理后的stream流

终止Stream:顾名思义,通过终止管道操作之后,Stream流将会结束,最后可能会执行某些逻辑处理,或者是按照要求返回某些执行后的结果数据。

API 功能说明
count() 返回stream处理后最终的元素个数
max() 返回stream处理后的元素最大值
min() 返回stream处理后的元素最小值
findFirst() 找到第一个符合条件的元素时则终止流处理
findAny() 找到任何一个符合条件的元素时则退出流处理,这个对于串行流时与findFirst相同,对于并行流时比较高效,任何分片中找到都会终止后续计算逻辑
anyMatch() 返回一个boolean值,类似于isContains(),用于判断是否有符合条件的元素
allMatch() 返回一个boolean值,用于判断是否所有元素都符合条件
noneMatch() 返回一个boolean值, 用于判断是否所有元素都不符合条件
collect() 将流转换为指定的类型,通过Collectors进行指定
toArray() 将流转换为数组
iterator() 将流转换为Iterator对象
foreach() 无返回值,对元素进行逐个遍历,然后执行给定的处理逻辑

标签:返回,Stream,stream,处理,元素,对象
From: https://www.cnblogs.com/xuzhidong/p/16875737.html

相关文章

  • Git: delete all branches without upstream
     #!/usr/bin/envbash#deleteallbrancheswithoutupstreamwhilereadbranch;doupstream=$(gitrev-parse--abbrev-ref$branch@{upstream}2>/dev/null)......
  • Redis Stream
    RedisStream是Redis5.0版本新增加的数据结构。RedisStream主要用于消息队列(MQ,MessageQueue),Redis本身是有一个Redis发布订阅(pub/sub)来实现消息队列的功能,但......
  • Kafka Java客户端Stream API
    KafkaStream概念及初识高层架构图KafkaStream是ApacheKafka从0.10版本引入的一个新Feature,它提供了对存储于Kafka内的数据进行流式处理和分析的功能。简而言之,KafkaStre......
  • AXI协议(五)-AXI-STREAM及接入思路解析
     在本文中,你将可能学会:AXI-STREAM协议的梗概(下简称axis)尝试编写出普通摄像头接入AXIS的思路本来想讲完怎么接入的,由于篇幅的原因,代码只能留在下一节中讲了,那我们下......
  • AXI-Stream
    一般来说都接口都只支持AXI或AXI-lite,AXI-stream需要去做转接AXI4-Stream协议是一种用来连接需要交换数据的两个部件的标准接口,它可以用于连接一个产生数据的主机和一个......
  • 流库stream
    流Stream用来以“做什么而非怎么做”的方式来处理集合流并不存储元素,,这些元素可能存储在底层的集合中,或者是按需生成的。存储的是规则流的操作不会修改其数据源,会生成......
  • parallelStream并发流线程安全问题
    parallelStream并发流线程安全问题起因公司项目中用到定时任务进行数据获取任务,由于返回数据的类型是字符串,需要进行转换,变为我们定义的类型id,在准备我们定义的类型Ma......
  • Stream流---根据对象中的某个属性值实现去重
    User类packagecom.gao.JDK8.Stream流;importlombok.Data;importjava.util.Date;@DatapublicclassUser{privateStringname;privateStringpas......
  • 数组~Count digits from a text stream
    题目描述Countdigits,whitespaces(‘’,’\n’,’\t’)andothercharactersfromatextstreamendingwithEOF.输入AtextstreamendingwithEOF输出Pr......
  • Streamlit 简介
    Streamlit是第一个专门针对机器学习和数据科学团队的应用开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为它的目标是取代Flask在机器学习项目中的地位,可以帮助......