举例:

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) 是什么意思?相关推荐

  1. Java8中Stream流对集合操作

    java8中Stream流引入函数式编程思想,主要配合各种接口.lambda表达式.方法引用等方式,为集合的遍历.过滤.映射等提供非常"优雅"的操作方式. Student.java ...

  2. Java8中stream()操作toMap()时Duplicate key问题解决

    问题描述: 最近使用Java8中Steam()流进行tomap转换编程时,遇到以下错误 java.lang.IllegalStateException: Duplicate key bbbat jav ...

  3. java8中stream流解决两个list合并问题

    当我们遇到需要将两个list合并成一个list实体的时候,可以使用java8的stream流来解决,以下是我的一个小demo,可供大家参考学习. public ResultDto listBalanc ...

  4. java8中stream最实用总结和调试技巧

    文章目录 背景 stream介绍 1. 什么是流? 2. 流的构成 3.流的操作类型 stream使用 1. 流的构造与转换 2. 流的操作 在idea中如何调试stream 总结 背景 java8推 ...

  5. java8中stream中的任务拆分

    在java8中流操作中,只有到终止符才会进行真正的求值.在设定了并行操作的时候,会对任务进行分解. 任务的分解用到了joinfork框架. @Override public void compute( ...

  6. Java8中Stream的用法

    Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找.遍历.过滤以及常 ...

  7. Java8中Stream的学习以及实际使用教程

    [前言] 该文章转发稀土掘金的一些文章用于记录自己学习! 一文掌握 Java8 Stream 中 Collectors 的 24 个操作 - 掘金 Java 8 Stream 从入门到进阶--像SQL ...

  8. 通过stream去重_分享几种 Java8 中通过 Stream 对列表进行去重的方法

    几种列表去重的方法 在这里我来分享几种列表去重的方法,算是一次整理吧,如有纰漏,请不吝赐教.1. Stream 的distinct()方法 distinct()是Java8中 Stream 提供的方法 ...

  9. 一文带你了解Java8之Stream

    Java8 Stream流式编程 简介 Java8中stream是用于对集合迭代器的增强,使之能供完成更高效的聚合操作(例如过滤.排序.统计分组等)或者大批量数据操作.此外,stream与lambda ...

最新文章

  1. 01_创建一个新的activityactivity配置清单文件
  2. Daily Scrum 10.26
  3. STM32 电机教程 23 - ST MCLIB实战之基于stm32f13c8tx构建FOC工程
  4. Android控制手机振动相关
  5. [HNOI2009]梦幻布丁
  6. JQuery版评分控件
  7. Spring框架第一天
  8. 证书更新提示,网易漫画等...
  9. CVE-2022-21999 Windows Print Spooler(打印服务)特权提升漏洞
  10. IDEA安装插件的两种方式
  11. 第二次作业(时事点评)
  12. Android P 怎样屏蔽HOME键和RECENT键
  13. 在微信小程序中怎么让一个页面的信息传递到另一个页面
  14. 阿里云主机安全组端口开放完整教程
  15. initramfs概述
  16. 1065 浙江中医药大学ACM OJ
  17. Mac与Linux的文件系统,Apple为iOS和macOS提供全新文件系统APFS
  18. 你知道位运算x=(x-1)表示什么嘛?
  19. 备忘录:PC(win7 64位)读取雷电2接口阵列
  20. 数组属于一种原生类_这种材质属于国标红木的红酸枝木类,很有潜在的一种材质...

热门文章

  1. linux下配置oracle 10G EM Database Console
  2. Gradle 的使用
  3. 【leetcode】923. 3Sum With Multiplicity
  4. 《Adobe Flash CS4中文版经典教程》——1.7 使用“工具”面板
  5. Tornado,展示一下模板渲染
  6. 现实给了梦想多少时间
  7. SES机箱管理知识回顾(四)之SES Over SAS
  8. 如何在IE右键菜单中添加菜单项(转)
  9. python爬取网页上的特定链接_python3下scrapy爬虫(第三卷:初步抓取网页内容之抓取网页里的指定数据)...
  10. c语言dp状态转移方程,[总结-动态规划]经典DP状态设定和转移方程