解决 java循环中使用 Map时 在put值时value值被覆盖的问题

其实很简单,只需要把容器换成list

然后在循环中 每次循环末尾 或者直接在循环中实例化hashmap,这样就不会造成map覆盖了。

    @RequestMapping("controller/json/AssetsController/getAssetsInfosysAndType")
    @ResponseBody
    public Msg getAssetsInfosysAndType() {
        List list = new ArrayList();
        List<AssetsInfosys> assetsInfoSysServiceAll = assetsInfoSysService.getAll();
        List<AssetsStructureLowerMenu> lowerMenuServiceAll = assetsStructureLowerMenuService.getAll();
        for (AssetsInfosys ai :
                assetsInfoSysServiceAll) {
            for (AssetsStructureLowerMenu lmsa :
                    lowerMenuServiceAll) {
                if (ai.getName().equals(lmsa.getSuperiormenu())) {
                    Map map = new HashMap();
                    map.put("assetsInfoSys", ai);
                    map.put("msgAssetsType", lmsa);
                    list.add(map);
                }
            }
        }
        return Msg.success().add("AllMsgAssetsInfosysAndType", list);
    }

原文地址:https://www.cnblogs.com/kinome/p/9648311.html

时间: 2024-08-28 21:16:11

解决 java循环中使用 Map时 在put值时value值被覆盖的问题的相关文章

Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题

转: Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题 在实际PL/SQL编程中,我们要对动态取出来的一组数据,进行For循环处理,其基本程序逻辑为: 1 2 3 4 5 6 7 8 9 10 11 12 create or replace procedure getidlist is   l_idlist varchar2(200); begin   l_idlist:='1,2,3,4';   for brrs in (select * fro

Java循环中删除一个列表元素

本文主要想讲述一下我对之前看到一篇文章的说法.假设跟你的想法有出入,欢迎留言.一起讨论. #3. 在循环中删除一个列表元素 考虑以下的代码.迭代过程中删除元素: ArrayList<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c", "d")); for (int i = 0; i < list.size(); i++

201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。

这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的程序: 在第一次编译运行中出现如下的结果: 通过查阅资料,原来是由于编码格式不一致引起的,汉字的编码应该用国标编码GBK,解决此问题可以用以下方法: 1.在集成环境下,可以选择编码格式为UTF-8格式. 2.在dos里面编译时,可以将编码格式加上去 javac -encoding gbk Text.

Java集合中的Map接口

jdk1.8.0_144 Map是Java三种集合中的一种位于java.util包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的最终实现类有很多:HashMap.TreeMap.SortedMap等等,这些最终的子类大多有一个共同的抽象父类AbstractMap.在AbstractMap中实现了大多数Map实现公共的方法.本文介绍Map接口定义了哪些方法,同时JDK8又新增了哪些. Map翻译为“映射”,它如同字典一样,给定一个key值,就能直接定位value值,它的存储结构为

用闭包解决 js 循环中函数变量暂存问题

需求:有一个数组,根据数组的值渲染对应的数字div,单击对应的div 在控制台打印对应的数字.如点击1,控制台打印1. 问题: 不管点击哪个值 打出来都是4 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>testFor</title> </head> <body> &l

解决for循环中异步请求顺序不一致的问题

for循环,再把循环出来的ID再进行二次请求 这就导致一个问题 请求结果返回顺序不一致 原因:异步请求会把回调事件放入微任务事件队列,宏任务执行完毕再执行微任务,具体参考事件队列机制 解决方法: 通过map方法进行循环请求 将异步请求方法封装起来,返回一个promise 这样将会返回一个具有多个promise的数组 通过promise.all()方法把promise包装成一个新的promise实例 1 // 通过Promise把所有的异步请求放进事件队列中 2 3 getInfo(item ,i

解决在Ue4中当摄像机拉得超级远时图像出现的撕裂情况

当摄像机拉的超级远时场景就会出现这个情况.这个时候输入 r.SetNearClipPlane ,设置一下裁界面就好了

for循环中删除map中的元素,valgrind检测提示error:Invalid read of size 8

1 #include <iostream> 2 #include <map> 3 4 using namespace std; 5 6 class A 7 { 8 public: 9 typedef std::map<int, string> myMap; 10 11 void mapInsert(int i, string s) 12 { 13 map.insert(std::make_pair(i, s)); 14 } 15 16 void deleteMap()

java循环中如何删除集合中的元素

public void remove(){   List<String> list = new ArrayList<String>();   list.add("a");   list.add("b");   list.add("a");   list.add("c");   list.add("d");   Iterator<String> it = list.iter