学习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()操作相关推荐

  1. java stream操作案例

    1.从List<Staff>筛选符合条件的List<String>: List<Staff> staffListtemp=Lists.newArrayList(); ...

  2. java stream 分组求和_Java stream List 求和、分组操作

    Java stream List 求和.分组操作 前言 项目中经常会使用Stream操作一些集合数据,今天记录一下我经常使用的Stream操作 求和操作public static void main( ...

  3. java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作

    写在开头:本文是转载于掘金上的一篇文章,已获得原作者授权,我会在文章最后放上原作者和原文链接. 前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看.java提供了Stre ...

  4. 深度掌握 Java Stream 流操作,让你的代码高出一个逼格

    概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...

  5. 这个方法可以让你的代码高出一个逼格——掌握 Java Stream 流操作

    概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...

  6. Java Stream的流操作,居然让我的代码越写越丝滑?

    概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...

  7. 优雅代码的秘密,只因为我掌握了Java Stream 流操作

    概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream` 的操作符大体上分为两种:`中间操作符`和`终止操 ...

  8. 深入理解Java Stream流水线,学到了!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:CarpenterLee cnblogs.com/Carpe ...

  9. JDK8 Stream操作 collectingAndThen:根据对象的属性去重

    来源:blog.csdn.net/qq_35634181/article/details/108867857 ExportTemperatureDto实体对象: @Getter @Setter @To ...

最新文章

  1. (1)搞一搞 seata 之 基础环境搭建
  2. JAVA实现创建Excel表并导出(转发)
  3. Leetcode Maximal Rectangle
  4. 新建文本文档好玩的代码_(03)用什么工具写ASP源代码?
  5. intention lock_写作技巧:你写出来的情节有用吗?好情节的原则——LOCK系统
  6. constraint mysql_MySQL(Constraint)
  7. 垃圾回收算法与实现系列-GC 标记-清除算法
  8. 【干货】从点击率预估的视角看腾讯社交广告算法大赛
  9. Repeater_Table_单击_Repeater样式,Table样式,交替变色,单击变色
  10. 获取json格式的内容数据时,使用的方法避免空指针
  11. Android Studio NDK开发
  12. 浮点数指数域(阶码)的存储格式
  13. IP地址-子网掩码-默认网关之间的关系
  14. LeetCode-717. 1比特与2比特字符
  15. 服务器文件怎么删,怎么删除服务器文件
  16. 计算机网络技术的研究现状,计算机网络技术发展研究
  17. FP7195大功率零压差全程无频闪调光DC-DC恒流芯片
  18. 广州百田 技术类 笔试题
  19. Xshell配色方案
  20. Visual Studio 2019 STK11.6 C#(WPF)二次开发

热门文章

  1. 关于最大公约数与最大公倍数的相关问题(zufeoj)
  2. Linux命令 之 ifconfig命令
  3. Windows安全防范手册
  4. scanner.nextLine()和scanner.next();的区别
  5. linux 6.4 安装oracle10g,Red Linux 6.0上安装Oracle 10g
  6. CSharp调用Matlab编译的dll
  7. vue后台管理系统之日志管理模块
  8. SQL入门之第二讲——创建数据库
  9. mtk 按键中断驱动
  10. Python tkinter+文件操作 实现学生信息管理系统