java克隆一个ConcurrentHashMap
时间: 2023-08-13 10:11:51 浏览: 111
Java 中ConcurrentHashMap的实现
要克隆一个 ConcurrentHashMap,可以使用它的 `clone()` 方法。这个方法会返回一个 ConcurrentHashMap 的浅拷贝。浅拷贝意味着新的 ConcurrentHashMap 会包含相同的键值对,但是键值对的引用仍然指向原始 ConcurrentHashMap 中的对象。
以下是一个示例代码:
```java
import java.util.concurrent.ConcurrentHashMap;
public class Main {
public static void main(String[] args) {
ConcurrentHashMap<String, Integer> originalMap = new ConcurrentHashMap<>();
originalMap.put("A", 1);
originalMap.put("B", 2);
originalMap.put("C", 3);
ConcurrentHashMap<String, Integer> clonedMap = (ConcurrentHashMap<String, Integer>) originalMap.clone();
System.out.println("Original Map: " + originalMap);
System.out.println("Cloned Map: " + clonedMap);
}
}
```
输出结果:
```
Original Map: {A=1, B=2, C=3}
Cloned Map: {A=1, B=2, C=3}
```
请注意,这只是对 ConcurrentHashMap 对象的浅拷贝,如果原始 ConcurrentHashMap 中的值是可变对象,那么克隆后的对象修改这些值可能会影响到原始 ConcurrentHashMap。如果需要深拷贝,可以手动实现一个方法来复制键值对,并创建新的对象来存储这些键值对。
阅读全文