直接上代码,觉得有用的大佬点个赞。

package com.jackrain.nea.oc.oms.services;import lombok.Builder;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;/*** @author Niz */
public class JavaDemo {public static void main(String[] args) {List<A> list1 = new ArrayList<>();List<B> list2 = new ArrayList<>();data(list1, list2);System.out.println(list2.stream().filter(b ->{for (A a : list1) {if(StringUtils.equals(a.name, b.getName())){return true ; // 相同的留下};}return false;}).collect(Collectors.toList()));}// 数据private static void data(List<A> list1, List<B> list2){list1.add(A.builder().id("001").name("诸葛亮").build());list1.add(A.builder().id("002").name("司马懿").build());list1.add(A.builder().id("003").name("周瑜").build());B b1= new B();B b2= new B();B b3= new B();b1.setId("001");b1.setName("诸葛亮");b2.setId("002");b2.setName("司马懿");b3.setId("004");b3.setName("鲁肃");list2.add(b1);list2.add(b2);list2.add(b3);}@Builderstatic class A{private String id;private String name;}@Datastatic class B{private String id;private String name;}}

JAVA8之Stream过滤 - 两个List<T>取变量值相同的数据相关推荐

  1. java8 使用stream实现两个list集合合并成一个list集合及List切成多个list

    文章目录 java8 合并两个 list<map> java8 合并两个 list<T> 一个list 集合合并去重求和 拆分大list java8 合并两个 list< ...

  2. 使用Java8的Stream对两个 List 遍历匹配数据的优化处理

    使用场景,有两个List<Map<String,Object>>集合,第一个集合的所有元素都是需要保留的. 第一个集合的值为: {name=张三丰1, id=1} {name= ...

  3. Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值

    import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import java.lang.reflect.F ...

  4. Java8 Stream:两万字博文教你玩转集合的筛选、归约、分组、聚合

    目录 一.Stream概述 二.Stream 的创建 三.Stream 的中间操作 3.1.筛选(filter/distinct) 3.2.切片(limit/skip) 3.3.映射(map/mapT ...

  5. Java8的 stream对list数据去重,使用filter()过滤列表,list转map,joining使用,统计分组合并

    使用 Java8的 stream对list数据去重,使用filter()过滤列表,list转map 1.去除List中重复的String List unique = list.stream().dis ...

  6. java8两个list中发数据比较_Java8 Stream对两个 List 遍历匹配数据的优化处理操作

    使用场景,有两个List>集合,第一个集合的所有元素都是需要保留的. 第一个集合的值为: {name=张三丰1, id=1} {name=张三丰2, id=2} {name=张三丰3, id=3 ...

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

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

  8. 玩转Java8的 Stream 之函数式接口

    作者:litesky www.jianshu.com/p/2338cabc59e1 函数式接口是伴随着Stream的诞生而出现的,Java8Stream 作为函数式编程的一种具体实现,开发者无需关注怎 ...

  9. 一文带你了解Java8之Stream

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

最新文章

  1. MPB:湖南师大尹佳组-乳酸菌的耐热实验
  2. 一切都不能够想当然D
  3. Get data from file(xxx.png) failed!
  4. matlab画出周期为2的方波图形 傅立叶级数_高等数学系列R之四:傅立叶级数及变换...
  5. java马克思手稿_java 循环嵌套解决一元,二元,三元方程(增长率,鸡兔同笼,马克思手稿)...
  6. Fiddler设置断点(一)
  7. Oracle中的SAVEPOINT
  8. XSS(跨站脚本攻击)漏洞解决方案
  9. Spanning Tree Protocol (STP) in NetScaler Appliance
  10. exe反编译为py文件
  11. EJB - 环境设置
  12. x黑客X档案2006年07期
  13. 区块链运营思路_区块链商业模式,及数字货币运营方案
  14. 汽车之家自动发帖回帖机器人
  15. vulnhub靶机-DC2-Writeup
  16. 云层高度方法总结:激光雷达信号反演/遥感数据估计
  17. linux系统编程3—文件存储函数
  18. 复杂交联环境下的测试任务快速开发工具系统情况
  19. [Node] Node.js Webpack和打包过程
  20. 【FAQ】软件保护系统Themida常见问题集锦(一)—Themida和WinLicense有什么区别?...

热门文章

  1. 设备安全培训教材(50页)(附下载)
  2. getComputedStyle、currentStyle的区别与用法
  3. 全志Tina Linux MPP (多媒体框架)开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板
  4. [记录]修改el-table边框颜色
  5. std::atomic原子操作
  6. 一个神奇的CSDN繁体版盗版网站 - 台部落(https://www.twblogs.net/u/5b8f102c2b71771883499d6b)
  7. Pandas —— cum累积计算和rolling滚动计算
  8. 所见非所得: 浅析同形异义词攻击及案例分析
  9. Python的三层架构(基础篇)
  10. SparkSQL 实现窗口函数