【书籍知识回顾与总结-2022】Java语言重点知识-多线程编程、流式编程
一、多线程编程
二、流式编程
1、目的
简化集合和数组的操作
注意:每个流只能使用一次
2、获取流的方式
(1)单列集合:stream方法
KeySet()/values()/EntrySet()
(2)数组:Stream的静态方法of
Stream.of(arr)
3、方法分类
(1)延迟方法:返回值是Stream自身类型
(2)终结方法:不返回流自身类型,如count和forEach
4、流中的常用方法
(1)filter
将一个流转换成另一个子集流
Stream<T> filter(Predicate<? super T> predicate);//判断的接口test
Predicate接口中的抽象方法:boolean test()
(2)map
将流中的元素映射到另一个流中
<R> Stream<R> map(Function<? super T, ? extends R> mapper);
java.util.stream.Function 函数式接口,唯一抽象方法apply
(3)limit
对流截取,只取前n个
返回截取后的流
(3)skip
跳过前几个元素,可以使用 skip 方法获取一个截取之后的新流
(4)静态方法:Stream.concat
合并两个流,属于Stream的静态方法
5、进一步简化
函数式接口->Lambda表达式->方法引用
System.out::println
Math::abs
System.out 中的 println 方法来取代Lambda
方法引用的写法复用了已有方案,更加简洁
【书籍知识回顾与总结-2022】Java语言重点知识-多线程编程、流式编程的更多相关文章
- Java知识回顾 (4)Java包装类
一. Java Number 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置 ...
- Java知识回顾 (18)Java 8、9、11的新特性
Java 8 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本. Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 Jav ...
- Java基础重点知识之欣欣向然
题目: 第一题:二重循环: public class Text01 { //完成歌曲排序的效果 public static void main(String[] args) { String[] zi ...
- Java虚拟机重点知识归纳总结
一. JVM内存分区 分为程序计数器.虚拟机栈.本地方法栈.Java堆.方法区5个区域 其中Java堆和方法区是线程共享的,虚拟机栈.本地方法栈.程序计数器是线程隔离的. 程序计数器: 1.可 ...
- Java的lamda表达式/函数式接口/流式计算
在我们看他人code的时候经常会看到,可能会经常看到lambda表达式,函数式接口,以及流式计算.在刚接触这些新功能时,也觉得真的有必要吗?但是现在写多了,发现这个功能确实能简化代码结构,提升编码效率 ...
- java基础知识回顾之javaIO类--java序列化和反序列化
/** * * 一:理解序列化反序列化及其应用 * 序列化:把堆内存的对象转化成字节流的过程. * 反序列化:把字节流序列恢复重构成对象的过程. * 对象的序列化的用途:1.把对象的字节序列持久化, ...
- Java知识回顾 (2) Java 修饰符
一.Java 修饰符 1.1 访问控制修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default (即缺省,什么也不写): 在 ...
- JAVA 面试重点知识个人总结
一.集合: 1 .Collection(是java.util下的接口) 和 Collections(是java.util下的类). 2 .List, Set,是否继承自Collection接口,Map ...
- 5.JAVA语言基础部分—多线程
一个应用有一个进程,一个进程里可以用多个线程 1)定义 定义线程有两种方式,一是继承java.lang.Thread类,二是实现java.lang.Runnable接口.其实Thread类就是实现了R ...
- 用java语言(文件和文件流知识点)实现图片的拷贝,从d盘拷贝到e盘
/** * 实现图片的拷贝\ * 注意:用的是文件字节流 */ package com.test4; import java.io.*; public class Demo12_4 { /** * @ ...
随机推荐
- Python实验报告——第3章 流程控制语句
实验报告 [实验目的] 1.掌握python中流程控制语句的使用,并能够应用到实际开发中. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第三章流程控制语句实例01-09,实战一到实 ...
- ProxySQL(4):多层配置系统
文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9280793.html ProxySQL中的库 使用ProxySQL的Admin管理接口连上ProxySQL, ...
- owncloud安装部署手册
Dockerhub地址:https://hub.docker.com/r/owncloud/server docker pull owncloud/server:10.9.0 docker run - ...
- 在kibana中查看nginx日志的Discover,Dashboards
官方的操作: 1.安装filebeat,配置filebeat获取nginx日志,来源有两种: 第一种是使用自带的模块进行收集,在modules.d目录中启用模块配置,运行Filebeat时启用模块,在 ...
- Pixar 故事公式
文章转载自:https://mp.weixin.qq.com/s/wMfFVh9tAM5Qo4ED658yUg
- Elasticsearch:管理 Elasticsearch 内存并进行故障排除
文章转载自:https://elasticstack.blog.csdn.net/article/details/116974695
- PTA 1126 Eulerian Path
无向连通图,输出每个顶点的度并判断Eulerian.Semi-Eulerian和Non-Eulerian这3种情况,我们直接记录每个点所连接的点,这样直接得到它的度,然后利用深度优先和visit数组来 ...
- Linux安装中文字体(已验证)
1.安装字体命令 sudo apt install -y fontconfig 2.查看已安装的字体 (1)查看linux已安装字体 fc-list (2)查看linux已安装中文字体 fc-list ...
- Bing 广告平台迁移到 .net6
原文链接 https://devblogs.microsoft.com/dotnet/bing-ads-campaign-platform-journey-to-dotnet-6/ 广告组件平台对于微 ...
- 使用doctest代码测试和Sphinx自动生成文档
python代码测试并自动生成文档 Tips:两大工具:doctest--单元测试.Sphinx--自动生成文档 1.doctest doctest是python自带的一个模块.doctest有两种使 ...