转载自:https://www.cnblogs.com/lindsayYang/p/9843599.html

JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象  

  当前的需求是从数据库或者其他服务中获取到了一个对象集合,假设对象是Cart购物车,里面有product_id,product_name,count等。

  需要从集合中查找商品id是1的商品对象。用表达式来查询代码很简洁。

// Cart对象<br>@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Cart {/*** 总库商品ID*/@JsonProperty(value = "product_id")private Long productId;/*** 商品名称*/@JsonProperty(value = "name")private String productName;/*** 数量*/@JsonProperty("count")private Integer count;}

模拟一个Cart集合,假设有两个商品牛腩饭和蛋炒饭,id是1和2。

List<Cart> cartlist = new ArrayList<Cart> (2){{Cart cart1 = new Cart();cart1.setProductId(1L);cart1.setProductName("牛腩饭");cart1.setCount(1);add(cart1);Cart cart2 = new Cart();cart2.setProductId(2L);cart2.setProductName("蛋炒饭");cart2.setCount(1);add(cart2);
}};<br>Optional<Cart> cartOptional = cartlist.stream().filter(item -> item.getProductId().equals(1L)).findFirst();
if (cartOptional.isPresent()) {// 存在Cart cart =  cartOptional.get();
} else {// 不存在
}

JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象相关推荐

  1. java指定存入arraylist值_Java高效打印出0000-9999之间所有的值存到arraylist集合中

    Java高效打印出0000-9999之间所有的值存到arraylist集合中public static void main(String[] args) { /** * 推荐用Java8 的新特性St ...

  2. 10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表 达式,它将允许我们将行为传到函数里.在J ...

  3. 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?

    在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...

  4. Java 8 Lambda 表达式被编译成了什么?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取个gui 在了解了Java 8 Lambda的一些基本概念和应用后, 我们会 ...

  5. Java 8 Lambda表达式的函数式编程– Monads

    什么是monad ?: monad是一种设计模式概念,用于大多数功能编程语言(如Lisp)或现代世界的Clojure或Scala中. (实际上,我会从scala复制一些内容.)现在,为什么它在Java ...

  6. 深入浅出 Java 8 Lambda 表达式

    摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等.本文系 OneAPM 工程师编译整理. Java 是一流的面向对象语言,除了部分简 ...

  7. Java 8 Lambda表达式10个示例【存】

    PS:不能完全参考文章的代码,请参考这个文件http://files.cnblogs.com/files/AIThink/Test01.zip 在Java 8之前,如果想将行为传入函数,仅有的选择就是 ...

  8. 深入理解Java 8 Lambda表达式(Oracle官方文档版)

    Java 8 问世三年了,9马上也要问世了,所以,嗯,我要开始学8了-- 官方文档:http://docs.oracle.com/javase/tutorial/java/javaOO/lambdae ...

  9. Java 8 Lambda 表达式详解

    版权声明:本文由吴仙杰创作整理,转载请注明出处:https://segmentfault.com/a/1190000009186509 1. 引言 在 Java 8 以前,若我们想要把某些功能传递给某 ...

最新文章

  1. 程矢Axure夜话:Axure基础系列视频教程之图片自动播放鼠标悬停
  2. 深入理解c#(第三版)(文摘)
  3. html jsf ajax blur,JSF和AJAX:隐藏网站的一部分,直到第一个Ajax请求
  4. 5.25. Spring boot with Git version
  5. 阿里云 OpenYurt 成为 CNCF 沙箱项目,加速原生 Kubernetes 边缘场景全覆盖
  6. excel 宏编程_在 Excel 中使用 Python 开发宏脚本
  7. Demosaic算法学习
  8. 中文电子病例命名实体识别项目
  9. Linux rm 删除指定文件外的其他文件 方法汇总
  10. java web怎么快速设计网页_Javaweb毕业设计快速开发指南(一)
  11. 架构模式: 服务器端页面碎片化元素构建
  12. Silverlight 密码框 Focus
  13. python是什么专业学的-什么样的人适合学Python,应该怎么学?
  14. html通过拼音首字母定位,input+div 实现输入拼音首字母或汉字自动检索上拉列表...
  15. 【JAVA】从0开始写DHT/磁力爬虫 05 INFOHASH转种子
  16. 人工智能之父图灵之死:谜一样的解谜者
  17. seo具体怎么优化-优化SEO的方法
  18. 你们想要知道的跳一跳都在这了,23333333
  19. 获取车辆VIN等OBD信息
  20. 计算机英语阅读短文,计算机经 典英语短文阅读.pdf

热门文章

  1. Visual Studio番茄助手 Visual Assist X for VS2015-2019
  2. T3600工作站重做磁盘阵列及安装系统说明文档
  3. 使用java.awt.Robot实现java版的自动点击事件
  4. 西安财经大学计算机考研科目,西安财经大学2020年硕士研究生考试复试科目与参考书目...
  5. javaweb课程设计:基于websocket的网络聊天室(所有的资源和代码还有详细步骤我都会提供)
  6. [Java] 超简图床(Java版) —— 专为Api而生
  7. 百分点认知智能实验室:如何打造工业级的机器翻译
  8. c语言求成绩中的最高分辨率大约是,一级msoffice全真机试试卷.docx
  9. win10修改用户名_ADAMS2020中/英版软件下载和安装教程|兼容WIN10
  10. 农业农村部回应长江刀鱼将正式禁捕:已严重过度捕捞