在Java中,要复制一个HashMap,你可以使用以下几种方法:
方法1:使用putAll()
方法
HashMap<Integer, String> originalMap = new HashMap<>();
originalMap.put(1, "One");
originalMap.put(2, "Two");
originalMap.put(3, "Three");
HashMap<Integer, String> copiedMap = new HashMap<>(originalMap);
copiedMap.put(4, "Four");
System.out.println("Original Map: " + originalMap);
System.out.println("Copied Map: " + copiedMap);
方法2:使用构造函数
HashMap<Integer, String> originalMap = new HashMap<>();
originalMap.put(1, "One");
originalMap.put(2, "Two");
originalMap.put(3, "Three");
HashMap<Integer, String> copiedMap = new HashMap<>(originalMap);
System.out.println("Original Map: " + originalMap);
System.out.println("Copied Map: " + copiedMap);
方法3:使用stream()
和collect()
方法(Java 8及更高版本)
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
HashMap<Integer, String> originalMap = new HashMap<>();
originalMap.put(1, "One");
originalMap.put(2, "Two");
originalMap.put(3, "Three");
HashMap<Integer, String> copiedMap = originalMap.entrySet().stream()
.collect(HashMap::new, (m, e) -> m.put(e.getKey(), e.getValue()), HashMap::putAll);
System.out.println("Original Map: " + originalMap);
System.out.println("Copied Map: " + copiedMap);
}
}
以上三种方法都可以实现HashMap的复制。注意,这里我们假设你要复制的是一个新的HashMap,而不是修改原始HashMap。如果你想要修改原始HashMap,可以直接将复制后的HashMap赋值给原始HashMap的变量。