【java8】中stream的.findAny().orElse (null) 是什么意思?
举例:
List<User> userList = new ArrayList();
User user1 = userList.stream().filter(user -> "zhangsan".equals(user.getUserName())).findAny().orElse(null);
1、filter为过滤,user代表userList中的一个User;
2、userList.stream().filter(user -> “zhangsan”.equals(user.getUserName()))表示过滤出userList中名字为zhangsan的user;
3、.findAny()表示将其中任意一个返回;【注意:在Java 8 Stream中, findFirst()返回Stream中的第一个元素,而findAny()返回Stream中的任何元素。】
4、.orElse(null)表示如果一个都没找到返回null。【orElse()中可以塞默认值。如果找不到就会返回orElse中你自己设置的默认值。】
以上为Java8新语法的内容,推荐一本书《Java8实战》建议学习,可有效提高代码效率。
【java8】中stream的.findAny().orElse (null) 是什么意思?相关推荐
- Java8中Stream流对集合操作
java8中Stream流引入函数式编程思想,主要配合各种接口.lambda表达式.方法引用等方式,为集合的遍历.过滤.映射等提供非常"优雅"的操作方式. Student.java ...
- Java8中stream()操作toMap()时Duplicate key问题解决
问题描述: 最近使用Java8中Steam()流进行tomap转换编程时,遇到以下错误 java.lang.IllegalStateException: Duplicate key bbbat jav ...
- java8中stream流解决两个list合并问题
当我们遇到需要将两个list合并成一个list实体的时候,可以使用java8的stream流来解决,以下是我的一个小demo,可供大家参考学习. public ResultDto listBalanc ...
- java8中stream最实用总结和调试技巧
文章目录 背景 stream介绍 1. 什么是流? 2. 流的构成 3.流的操作类型 stream使用 1. 流的构造与转换 2. 流的操作 在idea中如何调试stream 总结 背景 java8推 ...
- java8中stream中的任务拆分
在java8中流操作中,只有到终止符才会进行真正的求值.在设定了并行操作的时候,会对任务进行分解. 任务的分解用到了joinfork框架. @Override public void compute( ...
- Java8中Stream的用法
Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找.遍历.过滤以及常 ...
- Java8中Stream的学习以及实际使用教程
[前言] 该文章转发稀土掘金的一些文章用于记录自己学习! 一文掌握 Java8 Stream 中 Collectors 的 24 个操作 - 掘金 Java 8 Stream 从入门到进阶--像SQL ...
- 通过stream去重_分享几种 Java8 中通过 Stream 对列表进行去重的方法
几种列表去重的方法 在这里我来分享几种列表去重的方法,算是一次整理吧,如有纰漏,请不吝赐教.1. Stream 的distinct()方法 distinct()是Java8中 Stream 提供的方法 ...
- 一文带你了解Java8之Stream
Java8 Stream流式编程 简介 Java8中stream是用于对集合迭代器的增强,使之能供完成更高效的聚合操作(例如过滤.排序.统计分组等)或者大批量数据操作.此外,stream与lambda ...
最新文章
- 01_创建一个新的activityactivity配置清单文件
- Daily Scrum 10.26
- STM32 电机教程 23 - ST MCLIB实战之基于stm32f13c8tx构建FOC工程
- Android控制手机振动相关
- [HNOI2009]梦幻布丁
- JQuery版评分控件
- Spring框架第一天
- 证书更新提示,网易漫画等...
- CVE-2022-21999 Windows Print Spooler(打印服务)特权提升漏洞
- IDEA安装插件的两种方式
- 第二次作业(时事点评)
- Android P 怎样屏蔽HOME键和RECENT键
- 在微信小程序中怎么让一个页面的信息传递到另一个页面
- 阿里云主机安全组端口开放完整教程
- initramfs概述
- 1065 浙江中医药大学ACM OJ
- Mac与Linux的文件系统,Apple为iOS和macOS提供全新文件系统APFS
- 你知道位运算x=(x-1)表示什么嘛?
- 备忘录:PC(win7 64位)读取雷电2接口阵列
- 数组属于一种原生类_这种材质属于国标红木的红酸枝木类,很有潜在的一种材质...
热门文章
- linux下配置oracle 10G EM Database Console
- Gradle 的使用
- 【leetcode】923. 3Sum With Multiplicity
- 《Adobe Flash CS4中文版经典教程》——1.7 使用“工具”面板
- Tornado,展示一下模板渲染
- 现实给了梦想多少时间
- SES机箱管理知识回顾(四)之SES Over SAS
- 如何在IE右键菜单中添加菜单项(转)
- python爬取网页上的特定链接_python3下scrapy爬虫(第三卷:初步抓取网页内容之抓取网页里的指定数据)...
- c语言dp状态转移方程,[总结-动态规划]经典DP状态设定和转移方程