java8两个list根据某一属性取交集

class User {

public User(Integer id, String name) {

this.id = id;

this.name = name;

}

private Integer id;

private String name;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public String toString() {

return "id =" + id + ", name = " + name;

}

}

public class Demo {

private static User find(Integer id, List list) {

User user = null;

for (int i = 0; i < list.size(); i++) {

if (id.equals(list.get(i).getId())) {

user = list.get(i);

}

}

return user;

}

public static void main(String[] args) {

List list1 = Arrays.asList(new User(1, "小明"), new User(2, "小花"), new User(3, "小华"), new User(4, "小东"));

List list2 = Arrays.asList(new User(1, "小明2"), new User(2, "小花2"), new User(3, "小华2"));

List result = list1.parallelStream().map( user ->{

User user1 = list2.stream().filter(u -> u.getId().equals(user.getId())).findFirst().orElse(null);

if(null != user1){

user.setName(user1.getName());

}

return user;

}).collect(Collectors.toList());

Original: https://www.cnblogs.com/mike-mei/p/16310004.html
Author: 南北12345678
Title: java8两个list根据某一属性取交集

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537779/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • C语言快速上手

    C语言快速上手 本文旨在快速回顾C语言语法知识 char,short,int,long,long long #include int main() { printf("s…

    Java 2023年6月7日
    069
  • 链表之LinkedList

    写在前面 在日常开发中,一般在对于List的场景,基本上都是通过ArrayList去封装数据的,而对于链表LinkedList相对来说用的比较少。对我而言,好像ArrayList熟…

    Java 2023年6月5日
    0103
  • ThreadLocal = 本地线程?

    一、定义 ThreadLocal是 JDK包提供的,从名字来看, ThreadLocal意思就是本地线程的意思。 1.1 是什么? 要想知道他是个啥,我们看看 ThreadLoca…

    Java 2023年6月6日
    0107
  • 【RocketMQ】事务的实现原理

    事务的使用 RocketMQ事务的使用场景 单体架构下的事务 在单体系统的开发过程中,假如某个场景下需要对数据库的多张表进行操作,为了保证数据的一致性,一般会使用事务,将所有的操作…

    Java 2023年6月8日
    058
  • javax.swing自带的几种显示风格.使用LookAndFeelInfo查看

    public static void main(String args[]) { try { for (javax.swing.UIManager.LookAndFeelInfo …

    Java 2023年5月29日
    089
  • current request is not a multipart request

    current request is not a multipart request posted on2022-05-14 14:56 水水头不秃 阅读(13 ) 评论() 编辑…

    Java 2023年6月5日
    0102
  • AOP实现参数的判空问题

    不想每次都去判断必传的参数是否为空,写代码太繁琐了,正好最近用了AOP实现权限控制,依葫芦画瓢,现在用它实现参数的判空,至于AOP的原理之类,自己百度了解一下吧 NullDisab…

    Java 2023年6月8日
    070
  • 线程池

    posted @2019-02-14 12:52 Jessica程序猿 阅读(441 ) 评论() 编辑 Original: https://www.cnblogs.com/wuc…

    Java 2023年5月30日
    090
  • idea 插件推荐 Translation(翻译插件)

    idea 安装Translation: 我用的 windows idea 2019.1.3不同版本可能会不同 打开idea settings => Plugins 搜索tra…

    Java 2023年6月5日
    099
  • 公众号文章汇总

    JDK源码分析实战系列-ThreadLocal自旋锁-JUC系列Doug Lea文章阅读记录-JUC系列AQS源码一窥-JUC系列AQS源码二探-JUC系列AQS源码三视-JUC系…

    Java 2023年6月14日
    083
  • 7、线程状态

    线程状态5状态 新建 new 就绪 start() 运行 cpu调度 阻塞 blocked 停止 stop package com.testthread1; /** * 1、建议线…

    Java 2023年6月8日
    074
  • Springboot的监控Springboot Actuator

    1、Springboot版本2.3.9,引入Actuator的maven依赖,如下所示: 1 "1.0" encoding="UTF-8"?…

    Java 2023年5月30日
    093
  • Android Studio安装插件重启插件消失

    问题 安装插件后,已经提示让重启IDE,但是重启后发现插件是安装失败了 解决方法 原因是自己改了配置,如果下载的插件是jar包,则可以安装,如果是zip压缩文件的插件,则是要我们手…

    Java 2023年6月13日
    076
  • Spring Boot入门系列(二十一)如何优雅的设计 Restful API 接口版本号,实现 API 版本控制!

    前面介绍了Spring Boot 如何快速实现Restful api 接口,并以人员信息为例,设计了一套操作人员信息的接口。不清楚的可以看之前的文章:https://www.cnb…

    Java 2023年5月30日
    093
  • 简单总结Tomcat/SpringMVC/Spring/SpringBoot的关系

    Tomcat是一个Web应用服务器,可以作为Servlet容器。它的作用是,解析客户端client发起的request,并组装出HttpRequest、创建HttpResponse…

    Java 2023年5月30日
    078
  • spring boot实现不同生产环境下的文件配置

    spring boot项目开发时不同开发环境,打包生成不同的文件。(避免生产环境得到开发环境时的配置文件) 配置不同生产环境 本文适用于开发环境下需要打包项目至生产环境,避免开发环…

    Java 2023年6月14日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球