如何将2个List<map>的集合数据合并一起 2C

我想要将两个不同的list类型的数据何在一起,比如图片说明
想将下面ip和网络状态合入上面那个里面,有什么办法吗

7个回答

//这是一个List,你是想把List中的第二个map合并到第一个map对象中,好办,加入你的List对象名为listData
Map<String,Object>newMap=new HashMap<String,Object>();
newMap=ListData.get(0);//将第一个Map直接赋给一个新的Map对象
//将第二个map的key和value值加入到newMap中
newMap.put("id",ListData.get(1).get("ip").toString());//确保ip不为null,我这里就不判断了
newMap.put("id",ListData.get(1).get("网络状态").toString());//同上
//ok,完成,此时newMap就是List集合中两个Map的合并结果
//如果你想把newMap加入到List当中并删除其他两个,按下面操作就OK了
listData=new ArrayList<Map<String,Object>>();
listData.add(newMap);
qq_22186849
qq_22186849 这个 https://www.cnblogs.com/liuyangfirst/p/13056213.html
4 个月之前 回复
qq_22186849
qq_22186849 这个写的才好
4 个月之前 回复
qq_32783113
1方通行 回复张大教主:这破问题改sql一切就好,可惜不让
3 年多之前 回复
qq_32783113
1方通行 我是数据库查出的两个数据,现在要合并,用addAll方法就是我图这种情况,数据类型是 List<Map<String,Object>> map2 = new ArrayList<Map<String,Object>>(); List<Map<String,Object>> map3 = new ArrayList<Map<String,Object>>();
3 年多之前 回复
u014074697
张大教主 newMap.put("网络状态",ListData.get(1).get("网络状态").toString());//这一句是这个
3 年多之前 回复

。。。感觉这数据类型很奇怪啊,如果说这两个json对应2个list,若是每个list里放1个map,那还要list作甚;每个json里的每个键值对分别放在1个map里?能够put多个数据的map表示十分憋屈。

说归这样说,如果真要合并直接用addAll或putAll,用不着手动遍历。

这种问题,直接查询API,不好吗?
SELECT e. NAME, w.auth, em.emotion_value FROM EVENT e, weibo w, weibo_emotion em WHERE e.id = 1 AND w.id IN ( SELECT weibo_id FROM weibo_event WHERE event_id = e.id ) AND em.weibo_id = w.id

list list = new ArrayList();
list.addall(list1);
list.addall(list2);
谢谢

提供一个笨方法, 两个 list的model是不一样的, 所以直接add不行, 那就把第二个model输出成一样的。

获取第二个list,然后改输出。

用到 list 返回 指定项

listB.Select(u=new MapA{fbds="",lxdh="",.....,ip=u.ip ,sgqy=u.网络状态,....}).ToList();

然后 listA.add(listB);

这样试试呢, 我没调试,不知道正确与否,可以试试, 主要原理是将输出类型转为一致后再追加。

谢谢,问题解决了,现在附上源码,希望帮到后面的朋友

    List arrayList= new ArrayList();
public List<Map<String, Object>> selectfdbsListMaps(String fdbs) {
    if (arrayList != null) {
        arrayList.removeAll(arrayList);
    }
    Map<String, Object> kdLxbMapTow = null;
    List<Map<String, Object>> kdLxbMap = this.jcIPdao.selectfdbsListMaps(fdbs);
    List<Map<String, Object>> queryList = this.jcIPdao.selectAllIpList();
    if (!fdbs.equals("")) {
        kdLxbMapTow = this.jcIPdao.selectcstc(fdbs);
        for (Map<String, Object> maps : kdLxbMap) {
            maps.putAll(kdLxbMapTow);
        }
        arrayList.addAll(kdLxbMap);
        return arrayList;
    } else {
        for (Map<String, Object> maps1 : queryList) {
                kdLxbMapTow = this.jcIPdao.selectcstc(maps1.get("fdbs").toString());
                maps1.putAll(kdLxbMapTow);
        }
        arrayList.addAll(queryList);
        return arrayList;
    }

}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐