java hashmap 清空_java – 为什么clear hashmap方法清除数组列表中添加的map

我正在尝试重用相同的HashMap,例如下面的例子来填充列表.首先,我在地图中添加了一些值,将地图添加到列表中,然后清除地图,以便再次添加新值并在列表中添加第二组值,依此类推……

但是,似乎clear()方法还删除了先前在列表中添加的值,如果我不使用clear()方法,则先前在列表中添加的每组值都会被新的值集覆盖,以便最终在这个特殊的例子我将在列表中有4个相同的值集.

我做错了什么?

List>dataList = new ArrayList>();

HashMap map = new HashMap();

map.put(Answer.ID, "0");

map.put(Answer.IMAGE, "color_icon_awesome");

map.put(Answer.TITLE, firstOption);

dataList.add(map);

map.clear();

map.put(Answer.ID, "1");

map.put(Answer.IMAGE, "color_icon_awesome");

map.put(Answer.TITLE, secondOption);

dataList.add(map);

map.clear();

map.put(Answer.ID, "2");

map.put(Answer.IMAGE, "color_icon_awesome");

map.put(Answer.TITLE, thirdOption);

dataList.add(map);

map.clear();

map.put(Answer.ID, "3");

map.put(Answer.IMAGE, "color_icon_awesome");

map.put(Answer.TITLE, fourthOption);

dataList.add(map);

map.clear();


版权声明:本文为weixin_42500477原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。