如何将一个静态hashmap复制到另一个静态hashmap

时间:2014-07-08 13:39:35

标签: java android

如何将静态的一个(A)hashmap值复制到另一个(B)hashmap但是如果更改B Hashmap中的任何值则不应该反映在A HashMap中

实施例

public static HashMap<String,String> firstHashMap = new HashMap<String,String>();
firstHashMap.put("1","A");
firstHashMap.put("2","B");

public static HashMap<String,String> secondHashMap = new HashMap<String,String>(firstHashMap);
secondHashMap.put("3","c");
secondHashMap.put("4","d");

问题:
虽然这样做,firstHashMap也包含secondHashMap

我们如何做到这一点?
我需要firstHashMap只应包含firstHashMap个值,secondHashMap应包含这两个值。

我还尝试制作secondHashMap.clone();

1 个答案:

答案 0 :(得分:2)

为什么不使用putAll

public static HashMap<String, String> firstHashMap = new HashMap<String, String>();
static {
    firstHashMap.put("1", "A");
    firstHashMap.put("2", "B");
}
public static HashMap<String, String> secondHashMap = new HashMap<String, String>();
static {
    secondHashMap.put("3", "c");
    secondHashMap.put("4", "d");
    secondHashMap.putAll(firstHashMap);
}

它会替换常用键的值(你不会在这里),但也会放置新的键值对。