Stream流思想和常用方法
一、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() 遍历处理终结;
Stream流思想和常用方法的更多相关文章
- Stream流的特点_只能使用一次和Stream流中的常用方法_map
Stream流的特点_只能使用一次 public class FilterStudy04 { public static void main(String[] args) { //创建一个Stream ...
- Stream流中的常用方法foeEach和Stream流中的常用方法filter
延迟方法:返回值类型仍然是Stream接口自身类型的方法,因此支持链式调用.(除了中介方法外,其余方法均为延迟方法) 终结方法:返回值类型不再是Stream接口自身类型的方法,因此不再支持类似Stri ...
- Stream流中的常用方法
count package com.yang.Test.StreamStudy; import java.util.stream.Stream; /** * 统计荷属:count * 正如旧集合Col ...
- stream流思想应用
1.计算集合中某字段数值和 subTotal = subTotal+ complainCountResult.stream().filter(childSource->childSource.g ...
- java中的Stream流
java中的Stream流 说到Stream便容易想到I/O Stream,而实际上,谁规定"流"就一定是"IO流"呢?在Java 8中,得益于Lambda所带 ...
- JAVA-基础(Stream流)
说起stream流大家的第一反应是io,但是实际上谁规定流一定是存在io包里呢?在java8中得益于Lambda表达式的函数式编程,引入了一个全新的概念,stream. 1.优势? 在java8之前我 ...
- Java8新特性 Stream流式思想(三)
Stream接口中的常用方法 forEach()方法package cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods; import jav ...
- Java学习:Stream流式思想
Stream流 Java 8 API添加了一种新的机制——Stream(流).Stream和IO流不是一回事. 流式思想:像生产流水线一样,一个操作接一个操作. 使用Stream流的步骤:数据源→转换 ...
- 流式思想概述和两种获取Stream流的方式
流式思想概述 整体来看,流式思想类似于工厂车间的生产流水线 当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个模型步骤方案,然后再按照方法去执行他 这张图中展示 ...
随机推荐
- JAVAWEB - Servlet原理及其使用>从零开始学JAVA系列
目录 Servlet原理及其使用 什么是Servlet Servlet的使用 编写一个Servlet,使用继承HttpServlet的方式 配置web.xml 很简单的几个JSP文件 小提示,如果继承 ...
- Adaptive AUTOSAR 学习笔记 12 - 通信管理
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 CM:Communicatio ...
- Java方法02——定义与调用
方法的定义与调用 定义与调用 例子 package method; public class Demon03 { public static void main(String[] arg ...
- [GXYCTF2019]Ping Ping Ping(ping命令执行绕过Waf)
记一道ping注入的题.过滤了很多字符. 分析 简单的测了一下,很容易就拿到了flag.php和index.php. 但是存在waf无法直接查看.直接?ip=127.0.0.1|cat flag.ph ...
- 身边好几个技术一般的程序员都面上了,阿里P7门槛降低?
经常在网上的论坛里看到讨论程序员的级别,尤其在跳槽类的信息里可以看到对标阿里P7,百度T6,腾讯3.1等字眼,似乎大厂的级别俨然可以成为业内的通用货币,类似于高考分数一样,哪一档就对应着什么样的待遇. ...
- Java服务突然失败:A fatal error has been detected by the Java Runtime Environment的总结
服务启动以后过段时间自动失败:A fatal error has been detected by the Java Runtime Environment 控制台中的错误信息 A fatal err ...
- 008 PHY(Physical Layer,PHY)
一.PHY PHY((Physical Layer,PHY))是IEEE802.3中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC或CPU)通过 ...
- vue项目中踩过的element的坑
前言:在现在这种大的社会背景下,人们的需求更加的个性化了,而之前为了解放开发复杂的原生开发状态,现有的组件库已经远远不能满足人们高质量的需求了,这两天开发发现了一些element UI交互上的缺陷,当 ...
- S3C2440—5.UART的使用
文章目录 一.S3C2440中的UART介绍 1.1 电平匹配 1.2 UART数据帧与波特率 1.3UART框图 二.UART的配置 2.1 UART引脚的配置 2.2 波特率的配置 2.3 数据帧 ...
- 在WPF中的ItemsControl中使用事件和命令(Using events and Commands within ItemsControl in WPF)
Say I have a standard WPF ItemsControl bound to an ObservableCollection of "Dog" objects l ...