java stream()操作
学习b站up主三更草堂的笔记
Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合
1.lambda
参考连接:一文搞懂Java8 Lambda表达式(附视频教程)
常常介绍的就是创建线程了
new Thread(new Runnable() {@Overridepublic void run() {System.out.println("hhh");}}).start();
new Thread(()-> System.out.println("hh")).start();
还有平时最常用的遍历list
ArrayList<String> stringArrayList = new ArrayList<>();stringArrayList.add("a");stringArrayList.add("b");stringArrayList.add("c");stringArrayList.forEach(s -> {System.out.println(s = s + "hhhh");});stringArrayList.forEach(System.out::println);
进阶小技巧:匿名内部类进一步探索
将参数定义为函数式接口(只有一个抽象实现方法)的话,调用方法时使用lambda使用匿名内部类传入参数,方便灵活使用
还有就是在mybatsiplus中经常用到了。
2.stream
参考连接:不会Lambda表达式、函数式编程?你确定能看懂公司代码?
1创建流
2中间操作
filter(根据条件过滤)
map(转换和计算)
distinct(去重)
sorted(排序,要求元素无重复)
limit(获取前n个)
skip(跳过前n个)
skip(跳过前n个)
flatMap(将流的元素再转换为流)
终结操作
foreach(遍历)
count(求数量)
max&min(最值)返回optional类型
collect(收集流里面的元素
find&match(查找与匹配)
reduce(按照指定计算方式返回一个结果)
Optional(避免空指针异常)
创建对象
安全的消费与获取值
过滤(同stream,但是返回的是optional对象)
数据转换(同stream,但是返回的是optional对象)
函数式接口
接口中只含有一个抽象方法的接口,接口里也可以有非抽象方法。
方法引用
高级用法
基本数据类型优化
并行流
java stream()操作相关推荐
- java stream操作案例
1.从List<Staff>筛选符合条件的List<String>: List<Staff> staffListtemp=Lists.newArrayList(); ...
- java stream 分组求和_Java stream List 求和、分组操作
Java stream List 求和.分组操作 前言 项目中经常会使用Stream操作一些集合数据,今天记录一下我经常使用的Stream操作 求和操作public static void main( ...
- java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
写在开头:本文是转载于掘金上的一篇文章,已获得原作者授权,我会在文章最后放上原作者和原文链接. 前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看.java提供了Stre ...
- 深度掌握 Java Stream 流操作,让你的代码高出一个逼格
概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...
- 这个方法可以让你的代码高出一个逼格——掌握 Java Stream 流操作
概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...
- Java Stream的流操作,居然让我的代码越写越丝滑?
概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...
- 优雅代码的秘密,只因为我掌握了Java Stream 流操作
概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...
- 深入理解Java Stream流水线,学到了!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:CarpenterLee cnblogs.com/Carpe ...
- JDK8 Stream操作 collectingAndThen:根据对象的属性去重
来源:blog.csdn.net/qq_35634181/article/details/108867857 ExportTemperatureDto实体对象: @Getter @Setter @To ...
最新文章
- (1)搞一搞 seata 之 基础环境搭建
- JAVA实现创建Excel表并导出(转发)
- Leetcode Maximal Rectangle
- 新建文本文档好玩的代码_(03)用什么工具写ASP源代码?
- intention lock_写作技巧:你写出来的情节有用吗?好情节的原则——LOCK系统
- constraint mysql_MySQL(Constraint)
- 垃圾回收算法与实现系列-GC 标记-清除算法
- 【干货】从点击率预估的视角看腾讯社交广告算法大赛
- Repeater_Table_单击_Repeater样式,Table样式,交替变色,单击变色
- 获取json格式的内容数据时,使用的方法避免空指针
- Android Studio NDK开发
- 浮点数指数域(阶码)的存储格式
- IP地址-子网掩码-默认网关之间的关系
- LeetCode-717. 1比特与2比特字符
- 服务器文件怎么删,怎么删除服务器文件
- 计算机网络技术的研究现状,计算机网络技术发展研究
- FP7195大功率零压差全程无频闪调光DC-DC恒流芯片
- 广州百田 技术类 笔试题
- Xshell配色方案
- Visual Studio 2019 STK11.6 C#(WPF)二次开发
热门文章
- 关于最大公约数与最大公倍数的相关问题(zufeoj)
- Linux命令 之 ifconfig命令
- Windows安全防范手册
- scanner.nextLine()和scanner.next();的区别
- linux 6.4 安装oracle10g,Red Linux 6.0上安装Oracle 10g
- CSharp调用Matlab编译的dll
- vue后台管理系统之日志管理模块
- SQL入门之第二讲——创建数据库
- mtk 按键中断驱动
- Python tkinter+文件操作 实现学生信息管理系统