我需要制作HashMap<Integer, List<MySpecialClass> >
的副本,但当我更改副本中的某些内容时,我希望原始版本保持不变。也就是说,当我从副本中删除List<MySpecialClass>
中的内容时,它会保留在原始的List<MySpecialClass>
中。
如果我理解正确的话,这两种方法只会创建我不想要的浅拷贝:
mapCopy = new HashMap<>(originalMap);
mapCopy = (HashMap) originalMap.clone();
我说的对吗?
有没有更好的方法来做到这一点,而不是只迭代所有的键和所有的列表项,并手动复制它?
https://stackoverflow.com/questions/28288546
复制相似问题