java,list<map>的用法,求指导=,=新手
Listatxt=newArrayList();Mapmap=newHashMap();map.put("a","123");map.put("b","234");map...
List atxt = new ArrayList();
Map map=new HashMap();
map.put("a","123");
map.put("b","234");
map.put("c","345");
map.put("d","456");
atxt.add(map);
Map map2 = new HashMap();
map2 = atxt.get(0); //报错,Type mismatch: cannot convert from Object to Map
问题如上,我究竟如何才能把一个map写进去,然后取出来呢?
我试过 (Map)atxt.get(0);这样强转的,
List<Map> atxt = new ArrayList<Map>();也试过;
但是这样是编译不过的...
哦貌似是我其他逻辑的问题=,=看错咯....谢谢~!~ 展开
Map map=new HashMap();
map.put("a","123");
map.put("b","234");
map.put("c","345");
map.put("d","456");
atxt.add(map);
Map map2 = new HashMap();
map2 = atxt.get(0); //报错,Type mismatch: cannot convert from Object to Map
问题如上,我究竟如何才能把一个map写进去,然后取出来呢?
我试过 (Map)atxt.get(0);这样强转的,
List<Map> atxt = new ArrayList<Map>();也试过;
但是这样是编译不过的...
哦貌似是我其他逻辑的问题=,=看错咯....谢谢~!~ 展开
2个回答
展开全部
一楼正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Map map=new HashMap();
Map的使用:
注意Map里的对象是键值对:{key,value} eg.{"username","godelegant"}
取出有多种方法,比较常用的有
1、在知道Key的情况下,直接map.get(key); eg. map.get("username");
2、在不知道key的情况下,使用iterator(迭代器)来得到,注意下面的代码:
Map map=new HashMap();
map.put("a","123");
map.put("b","234");
Set keySet = map.keySet(); // 得到key的set
Iterator iter = keySet.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
String value = map.get(key);
System.out.println(key+":"+value);
}
}
上面你的问题:
Map map2 = new HashMap();
map2 = atxt.get(0); //报错,Type mismatch: cannot convert from Object to Map
这是因为:你的JVM不知道你的list里面装的是什么类型,你取出来的时候,你也没告诉他是什么类型,直接给了Map类型的变量才出错。
这样写:
Map map2 = (Map)atxt.get(0);
或者:
List<Map> atxt = new ArrayList<Map>();
...
Map map2 = atxt.get(0);
Map的使用:
注意Map里的对象是键值对:{key,value} eg.{"username","godelegant"}
取出有多种方法,比较常用的有
1、在知道Key的情况下,直接map.get(key); eg. map.get("username");
2、在不知道key的情况下,使用iterator(迭代器)来得到,注意下面的代码:
Map map=new HashMap();
map.put("a","123");
map.put("b","234");
Set keySet = map.keySet(); // 得到key的set
Iterator iter = keySet.iterator();
while(iter.hasNext()){
String key = (String)iter.next();
String value = map.get(key);
System.out.println(key+":"+value);
}
}
上面你的问题:
Map map2 = new HashMap();
map2 = atxt.get(0); //报错,Type mismatch: cannot convert from Object to Map
这是因为:你的JVM不知道你的list里面装的是什么类型,你取出来的时候,你也没告诉他是什么类型,直接给了Map类型的变量才出错。
这样写:
Map map2 = (Map)atxt.get(0);
或者:
List<Map> atxt = new ArrayList<Map>();
...
Map map2 = atxt.get(0);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询