Java HashMap clone() 方法

定义和用法

clone() 方法返回该映射的副本,类型为 Object

这会创建一个“浅拷贝”,这意味着映射中的对象不会被复制,而是新映射会引用与原始映射中相同的对象。

注意:由于返回类型是 Object,因此为了将其用作 HashMap,必须进行类型转换,如下面的例子所示。

相关页面

教程:Java HashMap

实例

创建一个映射的副本并进行修改:

import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    HashMap<String, String> capitalCities = new HashMap<String, String>();
    capitalCities.put("China", "Beijing");
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("USA", "Washington DC");
    
    // 强制类型转换,因为 clone() 返回的是 Object 类型
    HashMap<String, String> copy = (HashMap<String, String>)capitalCities.clone();
    copy.remove("England");
    
    System.out.println(capitalCities); // 输出原始映射
    System.out.println(copy); // 输出修改后的副本
  }
}

亲自试一试

语法

public Object clone()

技术细节

返回: HashMap 对象的一个副本。