【发布时间】:2021-06-25 10:43:24
【问题描述】:
我试图在地图(出)内创建地图(入)。但是,在我更改“in”之后,“out”的值会发生变化。这是我的代码示例:
Map<String, LinkedHashMap<String, Integer>> out = new LinkedHashMap<String, LinkedHashMap<String, Integer>>();
LinkedHashMap<String, Integer> in = new LinkedHashMap<String, Integer>();
in.put("a", 100);
out.put("u", in);
System.out.println(out);
out.put("s", in);
in.put("b", 500);
System.out.println(out);
这是输出:
{u={a=100}}
{u={a=100, b=500}, s={a=100, b=500}}
我应该怎么做才能得到这个结果:
{u={a=100}}
{u={a=100}, s={a=100}}
【问题讨论】:
-
地图是“出”和“入”。 “a”是我用来填写“in”映射的键,对不起我的英语
-
哦,我忘了改变量,这里是
-
我也很担心。但如果我尝试过,例如: a = Map
;字符串 b = "测试"; a.put("1", b); b = "tst"; a.put("2",b);结果将是: {a="test", b="tst"} 而不是 {a="tst", b="tst"} 。或者我的问题只是发生在地图上?
标签: java hashmap linkedhashmap