java中map对象与list对象使用的问题

List list = new ArrayList();
Map map = new HashMap();
map .put("ID","001");
list.add(map); map .put("ID","002");
list.add(map);最后为什么list里面两条数据都是一样的,都是002这条数据,我在第一条数据添加完后加了句map.clear();但是结果还是一样,请问要怎样做list才能把这两条数据分别添加进去

第1个回答  推荐于2016-08-04
List和Map都是集合 现在相当于你List集合中有两个集合 他们指向同一个对象map 做一个简单的改动就可以了 在你map .put("ID","002");前让这个变量重新去指向另外一个对象代码这样写 map =new HashMap();
map .put("ID","002");
list.add(map);本回答被网友采纳
第2个回答  2013-09-06
因为你的map是同一个对象,key一样,自然只有一条数据
List list = new ArrayList();
Map map = new HashMap();
map .put("ID","001");
list.add(map); map = new HashMap(); map .put("ID","002");
list.add(map);
第3个回答  2013-09-06
对象
相似回答