栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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());

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328975.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号