博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Stream流思想和常用方法
阅读量:4306 次
发布时间:2019-06-06

本文共 892 字,大约阅读时间需要 2 分钟。

一、IO流用于读写;Stream流用于处理数组和集合数据;

1、传统集合遍历:

 

 2、使用Stream流的方式过滤:

 

其中,链式编程(返回值就是对象自己)中,filter使用的是Predicate函数式接口,它的唯一抽象方法是Test()布尔判断:

 

 

遍历方法forEach()使用的是数据消费Comsumer函数式接口唯一抽象方法是accept()方法,方法体中(lambda表达式)就是对入参数据经行处理使用就行::

 

 2、Stream流的思想: 是个生产线,只处理获取的数据源数据,不存储数据:

 

 其中,map步骤,映射可以改变集合元素的数据类型;

二、获取集合的两种方法

 

1、Collection集合的List和Set单列集合: 

 

 其中,String的底层就是一个字节数组;

2、Map双列集合集合:

 

 3、Stream类的静态方法of()获取:

 

 三、Stream流的常用方法:

 

 

 其中,前面延迟方法是处理集合数据,最后终结方法是真正的改变数据元素;

 1、终结方法for each

 

 2、延迟方法 filter

 

 

 

 3、Stream是管道流,只能被消费(使用)一次;

 

 异常:

 

 4、延迟方法map方法,使用的是函数式接口function接口,的apply唯一抽象方法:

function接口的唯一抽象方法apply:

 

 

 

 5、终结方法count()

 

 6、延迟方法limit:

 

 

 

 7、延迟方法skip:

 

 

 

 8、Stream类的静态方法concat() , 合并流

 

 9、集合元素处理实例

9.1传统集合方式处理:

从两个集合中选几个String类型的name 满足条件的元素到新集合中并创建person对象:

 

 其中,addAll是把一个集合的元素都添加到当前集合对象中;

9.2Stream流的方式

 

 其中,Stream类静态方法concat(stream1, stream2),map方法映射,将集合中元素数据类型转换,String应用类型转换成Person引用类型,使用forEach() 遍历处理终结;

 

转载于:https://www.cnblogs.com/wmqiang/p/11521353.html

你可能感兴趣的文章
nyoj-20-吝啬的国度(深搜)
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>
spark 2.4安装
查看>>
Embeded linux之移植boa
查看>>
C之变量初始化的重要性
查看>>
jQuery 学习笔记(jQuery: The Return Flight)
查看>>
Java中常用的测试工具JUnit
查看>>
PHP图形图像的典型应用 --常用图像的应用(验证码)
查看>>
Robot Framework-Ride界面介绍及库的添加
查看>>
IntelliJ IDEA 连接数据库 详细过程
查看>>
redis完全攻略
查看>>
D3---01基础的柱状图制作(转)
查看>>
Time-Varying Mesh Compression
查看>>
SocketServer源码学习(二)
查看>>
编写DLL所学所思(1)——导出函数
查看>>
POJ3006-Dirichlet's Theorem on Arithmetic Progressions
查看>>
QT分页控件,开源,供大家使用
查看>>
005.LVM删除
查看>>
Hibernate 简介(百度)
查看>>
深入理解 KVC\KVO 实现机制 — KVC
查看>>