JAVA8之Stream过滤 - 两个List<T>取变量值相同的数据
直接上代码,觉得有用的大佬点个赞。
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>取变量值相同的数据相关推荐
- java8 使用stream实现两个list集合合并成一个list集合及List切成多个list
文章目录 java8 合并两个 list<map> java8 合并两个 list<T> 一个list 集合合并去重求和 拆分大list java8 合并两个 list< ...
- 使用Java8的Stream对两个 List 遍历匹配数据的优化处理
使用场景,有两个List<Map<String,Object>>集合,第一个集合的所有元素都是需要保留的. 第一个集合的值为: {name=张三丰1, id=1} {name= ...
- Java8使用stream操作两个list根据某字段匹配再对其中一个list进行赋值
import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import java.lang.reflect.F ...
- Java8 Stream:两万字博文教你玩转集合的筛选、归约、分组、聚合
目录 一.Stream概述 二.Stream 的创建 三.Stream 的中间操作 3.1.筛选(filter/distinct) 3.2.切片(limit/skip) 3.3.映射(map/mapT ...
- Java8的 stream对list数据去重,使用filter()过滤列表,list转map,joining使用,统计分组合并
使用 Java8的 stream对list数据去重,使用filter()过滤列表,list转map 1.去除List中重复的String List unique = list.stream().dis ...
- java8两个list中发数据比较_Java8 Stream对两个 List 遍历匹配数据的优化处理操作
使用场景,有两个List>集合,第一个集合的所有元素都是需要保留的. 第一个集合的值为: {name=张三丰1, id=1} {name=张三丰2, id=2} {name=张三丰3, id=3 ...
- java8中stream流解决两个list合并问题
当我们遇到需要将两个list合并成一个list实体的时候,可以使用java8的stream流来解决,以下是我的一个小demo,可供大家参考学习. public ResultDto listBalanc ...
- 玩转Java8的 Stream 之函数式接口
作者:litesky www.jianshu.com/p/2338cabc59e1 函数式接口是伴随着Stream的诞生而出现的,Java8Stream 作为函数式编程的一种具体实现,开发者无需关注怎 ...
- 一文带你了解Java8之Stream
Java8 Stream流式编程 简介 Java8中stream是用于对集合迭代器的增强,使之能供完成更高效的聚合操作(例如过滤.排序.统计分组等)或者大批量数据操作.此外,stream与lambda ...
最新文章
- MPB:湖南师大尹佳组-乳酸菌的耐热实验
- 一切都不能够想当然D
- Get data from file(xxx.png) failed!
- matlab画出周期为2的方波图形 傅立叶级数_高等数学系列R之四:傅立叶级数及变换...
- java马克思手稿_java 循环嵌套解决一元,二元,三元方程(增长率,鸡兔同笼,马克思手稿)...
- Fiddler设置断点(一)
- Oracle中的SAVEPOINT
- XSS(跨站脚本攻击)漏洞解决方案
- Spanning Tree Protocol (STP) in NetScaler Appliance
- exe反编译为py文件
- EJB - 环境设置
- x黑客X档案2006年07期
- 区块链运营思路_区块链商业模式,及数字货币运营方案
- 汽车之家自动发帖回帖机器人
- vulnhub靶机-DC2-Writeup
- 云层高度方法总结:激光雷达信号反演/遥感数据估计
- linux系统编程3—文件存储函数
- 复杂交联环境下的测试任务快速开发工具系统情况
- [Node] Node.js Webpack和打包过程
- 【FAQ】软件保护系统Themida常见问题集锦(一)—Themida和WinLicense有什么区别?...
热门文章
- 设备安全培训教材(50页)(附下载)
- getComputedStyle、currentStyle的区别与用法
- 全志Tina Linux MPP (多媒体框架)开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板
- [记录]修改el-table边框颜色
- std::atomic原子操作
- 一个神奇的CSDN繁体版盗版网站 - 台部落(https://www.twblogs.net/u/5b8f102c2b71771883499d6b)
- Pandas —— cum累积计算和rolling滚动计算
- 所见非所得: 浅析同形异义词攻击及案例分析
- Python的三层架构(基础篇)
- SparkSQL 实现窗口函数