解决 java循环中使用 Map时 在put值时value值被覆盖的问题
Posted 大小姐的生产工厂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 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); }
以上是关于解决 java循环中使用 Map时 在put值时value值被覆盖的问题的主要内容,如果未能解决你的问题,请参考以下文章