在C#中實現HashMap的深拷貝可以通過以下步驟實現:
以下是一個示例代碼來實現HashMap的深拷貝:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 創建一個原始的HashMap對象
Dictionary<string, List<int>> originalMap = new Dictionary<string, List<int>>();
originalMap.Add("key1", new List<int> { 1, 2, 3 });
originalMap.Add("key2", new List<int> { 4, 5, 6 });
// 創建一個新的HashMap對象用于深拷貝
Dictionary<string, List<int>> deepCopyMap = new Dictionary<string, List<int>>();
// 遍歷原始HashMap,并進行深拷貝
foreach (var kvp in originalMap)
{
string key = kvp.Key;
List<int> value = new List<int>(kvp.Value); // 深拷貝
deepCopyMap.Add(key, value);
}
// 輸出原始HashMap和深拷貝后的HashMap
Console.WriteLine("Original Map:");
foreach (var kvp in originalMap)
{
Console.WriteLine($"{kvp.Key}: {string.Join(",", kvp.Value)}");
}
Console.WriteLine("\nDeep Copy Map:");
foreach (var kvp in deepCopyMap)
{
Console.WriteLine($"{kvp.Key}: {string.Join(",", kvp.Value)}");
}
}
}
在上面的代碼中,我們使用List<int>
作為值,對值進行了深拷貝。通過創建新的List對象并將原始List的元素復制到新的List中,實現了深拷貝。您可以根據實際情況修改代碼以滿足您的需求。