当前位置: 首页 > news >正文

stream流操作List对象,指定属性,取差集、交集

差集

	// 差集 (list1 - list2 = list1 中不同数据)List<Person> reduce1 = list1.stream().filter(a -> !list2.stream().map(b -> b.getAge() + "&" + b.getName()).collect(Collectors.toList()).contains(a.getAge() + "&" + a.getName())).collect(Collectors.toList());reduce1.parallelStream().forEach(System.out :: println);System.out.println("=============================得到差集 reduce2 (list2 - list1)==================================");List<Person> reduce2 = list2.stream().filter(a -> !list1.stream().map(b -> b.getAge() + "&" + b.getName()).collect(Collectors.toList()).contains(a.getAge() + "&" + a.getName())).collect(Collectors.toList());reduce2.parallelStream().forEach(System.out :: println);

交集

	 // List1与 List2的交集  // 过滤list1 ,遍历集合list2   // anyMatch(Predicate p) 传入一个断言型函数,对流中所有的元素进行判断,只要有一个满足条件返回true,不满足false。 // 取出list2中,符合判断条件的元素,返回值为true。将对象保存新集合中。List<Person> intersectA = list1.stream().filter(a -> list2.stream().map(Person::getName).anyMatch(   // 流中是否有元素能匹配给定的谓词,有则返回true 否false。name -> Objects.equals(a.getName(), name))).collect(Collectors.toList());               // 遍历ListintersectA.parallelStream().forEach(System.out :: println);

过滤

 // List对象数据去重Map<Object, Boolean> map = new HashMap<>();List<Person> list8 = list1.stream().filter(i -> map.putIfAbsent(i.getName()+"&"+i.getAge(), Boolean.TRUE) == null).collect(Collectors.toList());
http://www.lryc.cn/news/251967.html

相关文章:

  • 计算机相关行业在大数据库时代下的潮流和趁势
  • Mac苹果视频剪辑:Final Cut Pro Mac
  • 高德Map
  • SSM新闻发布管理系统
  • 客户销售目标拆解:数据驱动的方法和策略
  • “丝路电商”与泛欧在线公共采购平台Peppol
  • 今日思考 -- 创新领导力(CIO)读后感
  • Python实现Excel自动化
  • WT2605-24SS高品质录音语音芯片:实现五种变音效果,为音频应用增添无限创意
  • 最美早安心语问候朋友们,祝你心情美好,万事如意
  • 2312skia,16画布
  • mysql文本类型的最大长度限制
  • ASP.NET《数据库原理及应用技术》课程指导平台的开发
  • OSHI-操作系统和硬件信息库
  • 基于Java SSM框架+Vue实现企业公寓后勤管理系统项目【项目源码+论文说明】计算机毕业设计
  • stm32mp157和imx6ull在设备树节点上设置ap3216c的主要区别
  • 网工学习6-配置和管理 VLAN
  • MySQL库与表的备份
  • Python核心编程之基础内功
  • GPT4-Turbo技术原理研发现状及未来应用潜力分析报告
  • 为什么 SQL 不适合图数据库
  • 【Rust日报】2023-12-02 深度学习框架 Burn 发布 v0.11.0
  • MySQL性能调优-1-实际优化案例
  • JavaScript空值合并运算符
  • Spring Boot 集成 spring security 01
  • C 编程中使用字符串
  • 【GD32307E-START】04 使用TinyMaix进行手写数字识别
  • qt-C++笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解
  • 小程序开发平台源码系统:搭建新的商业体系 附带完整的搭建教程
  • css3新增的伪类有哪些?