我有一个非常简单的代码来使用 arrayList 填充 hashmap。以下是代码片段
HashMap<String, ArrayList<String> > fieldValue = new HashMap<String, ArrayList<String>>();
ArrayList<String> tmp = new ArrayList<>();
tmp.add("f");
tmp.add("string");
tmp.add("false");
fieldValue.put("bas", tmp);
tmp.clear();
tmp.add("f");
tmp.add("string");
tmp.add("false");
fieldValue.put("usc", tmp);
tmp.clear();
tmp.add("f");
tmp.add("int");
tmp.add("false");
fieldValue.put("st", tmp);
for (Map.Entry r : fieldValue.entrySet()) {
System.out.println(r.getKey() + "\t" + r.getValue());
}
以下是我执行时的输出
st [f, int, false]
usc [f, int, false]
bas [f, int, false]
问题出在哪儿?我期待 hashmap 值中有不同的值,但它们都是相同的。我错过了什么吗?
婷婷同学_
相关分类