共計 885 個字符,預計需要花費 3 分鐘才能閱讀完成。
在 Java 中,Map 接口沒有提供深拷貝的方法,但我們可以通過手動復制每個鍵值對來實現深拷貝。以下是一個示例代碼:
import java.util.HashMap;
import java.util.Map;
public class DeepCopyMapExample {public static void main(String[] args) {// 創建原始 Map
Map<String, String> originalMap = new HashMap<>();
originalMap.put("key1", "value1");
originalMap.put("key2", "value2");
// 創建新的 Map 并進行深拷貝
Map<String, String> deepCopiedMap = new HashMap<>();
for (Map.Entry<String, String> entry : originalMap.entrySet()) {deepCopiedMap.put(entry.getKey(), entry.getValue());
}
// 修改原始 Map 的值
originalMap.put("key1", "newValue");
// 輸出結果
System.out.println("Original Map: " + originalMap);
System.out.println("Deep Copied Map: " + deepCopiedMap);
}
}
上述代碼中,我們首先創建了一個原始的 Map 對象 originalMap
,然后通過手動復制每個鍵值對的方式實現了深拷貝,將復制后的鍵值對存儲到新的 Map 對象 deepCopiedMap
中。最后,我們修改了原始 Map 的值,但是新的 Map 對象沒有受到影響,證明了深拷貝的實現。
輸出結果為:
Original Map: {key1=newValue, key2=value2}
Deep Copied Map: {key1=value1, key2=value2}
可以看到,原始 Map 的值發生了變化,但是新的 Map 對象的值沒有變化,說明深拷貝成功。
丸趣 TV 網 – 提供最優質的資源集合!
正文完