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()在这里不起作用 我想更改新的项目,但保持原始不受影响。
答案 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);
}