Javaのマップのディープコピーを使用する方法
JavaのMapインターフェースはディープコピーメソッドを提供していませんが、各キーと値を手動でコピーすることで実装できます。以下にサンプルコードを示します。
import java.util.HashMap;
import java.util.Map;
public class DeepCopyMapExample {
public static void main(String[] args) {
// 创建原始Map
Map<String, String> originalMap = new HashMap<>();
originalMap.put("key1", "value1");
originalMap.put("key2", "value2");
// 创建新的Map并进行深拷贝
Map<String, String> deepCopiedMap = new HashMap<>();
for (Map.Entry<String, String> entry : originalMap.entrySet()) {
deepCopiedMap.put(entry.getKey(), entry.getValue());
}
// 修改原始Map的值
originalMap.put("key1", "newValue");
// 输出结果
System.out.println("Original Map: " + originalMap);
System.out.println("Deep Copied Map: " + deepCopiedMap);
}
}
元々のMapオブジェクトoriginalMapを作成後、各キーと値のペアを手で複製し新しいMapオブジェクトdeepCopiedMapに保存することでディープコピーを実現しました。
ネイティブな日本語で言い換えてください。1つのオプションだけで大丈夫です: 結果:
Original Map: {key1=newValue, key2=value2}
Deep Copied Map: {key1=value1, key2=value2}
元のMapの値は変化しているが、新しいMapオブジェクトの値は変化していないことがわかり、ディープコピーが成功していることがわかる