温馨提示×

Java怎么拷贝map并修改值

小亿
167
2023-10-28 03:52:37
栏目: 编程语言

在Java中,可以通过以下方式拷贝一个Map并修改其值:

  1. 使用构造函数创建一个新的Map对象,并传入原始Map对象作为参数。

    Map<String, Integer> originalMap = new HashMap<>();
    // 添加键值对到原始Map对象
    Map<String, Integer> copiedMap = new HashMap<>(originalMap);
    // 修改copiedMap对象的值
    copiedMap.put("key", newValue);
    
  2. 使用putAll()方法将原始Map对象的所有键值对添加到新的Map对象中。

    Map<String, Integer> originalMap = new HashMap<>();
    // 添加键值对到原始Map对象
    Map<String, Integer> copiedMap = new HashMap<>();
    copiedMap.putAll(originalMap);
    // 修改copiedMap对象的值
    copiedMap.put("key", newValue);
    
  3. 使用Java 8中的stream()collect()方法。

    Map<String, Integer> originalMap = new HashMap<>();
    // 添加键值对到原始Map对象
    Map<String, Integer> copiedMap = originalMap.entrySet().stream()
            .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    // 修改copiedMap对象的值
    copiedMap.put("key", newValue);
    

无论选择哪种方式,都可以创建一个新的Map对象,并修改其值,而不会影响原始的Map对象。

0