HashMapの深いレプリケーションと浅いレプリケーションについて
2095 ワード
JavaはHashMapの深いレプリケーションをサポートしていません.1つのHashMapの要素を別のHashMapの1つのエンティティに深くレプリケーションするには、1つのエンティティしかコピーできません.たとえば
リファレンスhttps://stackoverflow.com/questions/28288546/how-to-copy-hashmap-not-shallow-copy-in-java/28288729
public static HashMap<Integer, List<MySpecialClass>> copy(
HashMap<Integer, List<MySpecialClass>> original)
{
HashMap<Integer, List<MySpecialClass>> copy = new HashMap<Integer, List<MySpecialClass>>();
for (Map.Entry<Integer, List<MySpecialClass>> entry : original.entrySet())
{
copy.put(entry.getKey(),
// Or whatever List implementation you'd like here.
new ArrayList<MySpecialClass>(entry.getValue()));
}
return copy;
}
リファレンスhttps://stackoverflow.com/questions/28288546/how-to-copy-hashmap-not-shallow-copy-in-java/28288729