java的List<Map>用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的List<Map>用法相关的知识,希望对你有一定的参考价值。
使用List<Map>建立一个简单的学生信息库(学号、姓名、性别信息)。
返回所有所生信息。
List<Map<String,Object>> listStudentInfo=new ArrayList<Map<String,Object>>();
//定义学生1的一些属性
Map<String,Object> stu1=new HashMap<String, Object>();
stu1.put("sId", 111);//学号
stu1.put("sName", "张三");//姓名
stu1.put("sSex", "男");//性别
listStudentInfo.add(stu1);
//定义学生2的一些属性
Map<String,Object> stu2=new HashMap<String, Object>();
stu2.put("sId", 112);//学号
stu2.put("sName", "李四");//姓名
stu2.put("sSex", "女");//性别
listStudentInfo.add(stu2);
//得到所有学生信息
for( Map<String,Object> stu:listStudentInfo)
System.out.println("学号:"+stu.get("sId")+" 姓名:"+stu.get("sName")+" 性别:"+stu.get("sSex"));
参考技术A List<Map> list=new ArrayList<>();
for(int i=0;i<10;i++)
Map<String, String> map=new HashMap<>();
map.put("name", "zhangShang"+i);
map.put("age", String.valueOf(15+i));
list.add(map);
代码如上就是这么简单 参考技术B List<Map<String,Object>> stuList=new ArrayList<>();
Map<String,Object> stu1=new HashMap<>();
stu1.put("name","zhangsan");
stu1.put("age",18);
stu1.put("sex","男");
stuList.add(stu1);
Map<String,Object> stu2=new HashMap<>();
stu1.put("name","jack");
stu1.put("age",19);
stu1.put("sex","女");
stuList.add(stu2);
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>用法的主要内容,如果未能解决你的问题,请参考以下文章