java List<map>赋值的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java List<map>赋值的问题相关的知识,希望对你有一定的参考价值。
public String treatmentstatistics(@RequestParam(value = "eplanid") String eplanid,Model model)
// 由风险评估计划名称查询风险事件和风险应对计划名称
List<Map<String, String>> finishMapList = new ArrayList<Map<String, String>>();
Map<String, String> map = new HashMap<String, String>();
map.put("key", "A");
map.put("key", "A");
finishMapList.add(map);
map.put("key", "B");
map.put("key", "B");
finishMapList.add(map);
model.addAttribute("finishMapList", finishMapList);
return "rm/riskmanager/isfinishtreatment";
我的想法是list中有两个map,分别存
<key,A><key,A>和<key,B><key,B>,
但是实际却存的是
<key,B><key,B>和<key,B><key,key>
都存成后一个了。
Map<String, String> map = new HashMap<String, String>();
map.put("key", "A");
map.put("key", "A");
finishMapList.add(map);
map = new HashMap<String, String>(); //map要重新new不然还是上一个map
map.put("key", "B");
map.put("key", "B");
finishMapList.add(map);
model.addAttribute("finishMapList", finishMapList);
return "rm/riskmanager/isfinishtreatment";
map要重新new不然还是上一个map.
map.put("key", "B");其实是在修改map中的内容不是新的
不知道这样说你明不明白
不明白就继续问吧
参考技术A map是key/value的形式存数据的,你把所有的key都设成'key',那么先存的数据就被后面的覆盖了 参考技术B 中间少了一句,map = new HashMap<String, String>()map.put(key B); 参考技术C 你需要重新new一个Map来保存B
Map<String, String> map1 = new HashMap<String, String>();
map.put("key", "A");
map.put("key", "A");
finishMapList.add(map);
Map<String, String> map2 = new HashMap<String, String>();
map.put("key", "B");
map.put("key", "B");
finishMapList.add(map); 参考技术D map.put("key", "A");
键名一样被覆盖了 第5个回答 2014-09-17 Map集合是根据key 去存储数据的 所以当它们key 相同时是存储最新的一个 你可以使用list 或多new几个Map 集合去存储
以上是关于java List<map>赋值的问题的主要内容,如果未能解决你的问题,请参考以下文章
java 从数据库中返回来的数据list<Map<String ,Object>> 做拼接处理