两个List合并,List集合中的对象根据某个相同的属性,合并另外属性

当在不同数据库中,无法使用SQL联合查询时,通过遍历两个List对象集合,依据相同ID合并属性。首先将一个对象List放入Map<id, object1>,接着遍历另一个List,比较ID,匹配则创建新对象newObject。在实际操作中,从微服务接口获取的List数据需转化为JSON字符串,再转回对象以避免遍历错误。解决方案是利用fast-json进行转换。" 52385775,1403751,Java Integer 源码解析:位操作函数,"['Java', '位运算', '源码解析', '算法']
摘要由CSDN通过智能技术生成

场景描述:

因为是在不同的数据库里,所以不能使用sql联合查询,所以只能采用List封装数据和另一个List封装数据拼接成一个结果集。

方法:

根据共同的字段id,将一个对象List遍历, 放到map集合<id,object1>。然后遍历另外一个对象List,比较id, id相等,取出object1的值,和object2的值,放到新的对象newObject。

R<List<UserVO>> r = adminClient.querySysUserListByReqVo(reqVo);
        List<UserVO> userVOList = r.getData();
        if(CollectionUtils.isEmpty(userVOList)){
            return respDtoIPage;
        }

        //将userVo对象根据对应的userId放到map
        Map<Long,UserVO> userVOMap = new HashMap<>();
        // 将list中的数据转成json字符串
        String jsonObject= JSON.toJSONString(userVOList);
        //将json转成需要的对象
        userVOList = JSONObject.parseArray(jsonObject, UserVO.class);
        for (UserVO userVO : userVOList) {
            userVOMap.put(userVO.getUserId().longValue(),userVO);
            userIds.add(userVO.getUserId().longValue(
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值