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>();也试过;
但是这样是编译不过的...

哦貌似是我其他逻辑的问题=,=看错咯....谢谢~!~
展开
 我来答
吃碗面再走呗
2010-08-25 · 超过19用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:68.7万
展开全部
一楼正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
土味洋芋
推荐于2018-03-18 · 智慧城市架构师,构建未来城市
土味洋芋
采纳数:134 获赞数:1166

向TA提问 私信TA
展开全部
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);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式