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<User> 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<User> list1 = Arrays.asList(new User(1, "小明"), new User(2, "小花"), new User(3, "小华"), new User(4, "小东"));

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

List<User> 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());
复制代码

 

posted @   南北12345678  阅读(1041)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-05-25 Windows系统如何安装Redis?
点击右上角即可分享
微信分享提示