gpt4 book ai didi

java - Java编程中的HashMap

转载 作者:行者123 更新时间:2023-12-01 12:22:39 33 4
gpt4 key购买 nike

如何将字符串映射复制到 vector 到另一个映射。我正在做这个

Map<String,Vector<allocated>>map_to_input_copy=new HashMap<String,Vector<allocated>>();
Map<String,Vector<allocated>>map_to_output_copy=new HashMap<String,Vector<allocated>>();
map_to_input_copy.putAll(map_to_inputs);
map_to_output_copy.putAll(map_to_outputs);

但是在map_to_input_copy修改后,map_to_inputs也生效了。为了检查我正在打印

System.out.println("before"+map_to_inputs.get("5c").get(1).output);

还有

System.out.println("after"+map_to_inputs.get("5c").get(1).output);

这里输出是分配类中的属性但两者是不同的。请帮助我。

最佳答案

您正在将 vector 对象复制到新 map ,因此在新 map 中存在相同的 vector 对象,具有相同的内容。如果您修改 vector 对象的内容,它会显示在两个 map 中,因为它是相同的。

您需要做的是所谓的深度复制,这意味着迭代条目并创建 vector 对象的副本。

顺便说一句:强烈建议不要使用 Vector 类。 ArrayList 是现代且更快的替代品。

关于java - Java编程中的HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26564788/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com