在Java中,可以通过以下方式拷贝一个Map并修改其值:
-
使用构造函数创建一个新的Map对象,并传入原始Map对象作为参数。
Map
originalMap = new HashMap<>(); // 添加键值对到原始Map对象 Map copiedMap = new HashMap<>(originalMap); // 修改copiedMap对象的值 copiedMap.put("key", newValue); -
使用`putAll()`方法将原始Map对象的所有键值对添加到新的Map对象中。
Map
originalMap = new HashMap<>(); // 添加键值对到原始Map对象 Map copiedMap = new HashMap<>(); copiedMap.putAll(originalMap); // 修改copiedMap对象的值 copiedMap.put("key", newValue); -
使用Java 8中的`stream()`和`collect()`方法。
Map
originalMap = new HashMap<>(); // 添加键值对到原始Map对象 Map copiedMap = originalMap.entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); // 修改copiedMap对象的值 copiedMap.put("key", newValue);
无论选择哪种方式,都可以创建一个新的Map对象,并修改其值,而不会影响原始的Map对象。