如何使用Java中的一组类克隆HashMap

时间:2016-04-25 13:29:04

标签: hashmap clone

HashMap<String, Set<Myclass>> mapNew = new HashMap<String, Set<Myclass>>();

for (Map.Entry<String, Set< Myclass >> entry : mapOrig.entrySet()) {
        mapNew.put(entry.getKey(), entry.getValue().clone());  
    }

.clone()在这里不起作用 我想更改新的项目,但保持原始不受影响。

1 个答案:

答案 0 :(得分:0)

我想出了这个,但看起来很尴尬。还有更好的方法吗?

    for (Map.Entry<String, Set< Myclass >> entry : mapOrig.entrySet()) {
        Set<Myclass> objs = entry.getValue();
        Set<Myclass> objsCloned = new HashSet<Myclass>();
        for(Myclass obj : objs)
        {
            objsCloned.add(obj.clone());
        }

        mapNew.put(entry.getKey(), objsCloned);
     }