Java HashMap clone() 方法
这里,浅拷贝(shallow copy)的含义是键和值不会被复制。相反,会复制对键/值的引用。要了解更多关于浅拷贝的信息,请访问 Java 浅拷贝。
clone()
方法的语法是:
hashmap.clone()
这里,hashmap
是 HashMap
类的一个对象。
clone() 参数
clone()
方法不接受任何参数。
clone() 返回值
- 返回
HashMap
实例(对象)的副本
示例 1:复制 HashMap
import java.util.HashMap;
class Main {
public static void main(String[] args){
// 创建 HashMap
HashMap<String, Integer> languages = new HashMap<>();
languages.put("Java", 14);
languages.put("Python", 3);
languages.put("JavaScript", 1);
System.out.println("HashMap: " + languages);
// 创建 languages 的副本
HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone();
System.out.println("克隆后的 HashMap: " + cloneLanguages);
}
}
输出
HashMap: {Java=14, JavaScript=1, Python=3}
克隆后的 HashMap: {Java=14, JavaScript=1, Python=3}
在上述示例中,我们创建了一个名为 languages
的 hashmap。注意这个表达式,
(HashMap<String, Integer>)languages.clone()
这里,
languages.clone()
- 返回对象languages
的副本(HashMap<String, Integer>)
- 将clone()
返回的 对象 转换为String
类型键和Integer
类型值的 hashmap(要了解更多,请访问 Java 类型转换)
示例 2:打印 clone() 的返回值
import java.util.HashMap;
class Main {
public static void main(String[] args){
// 创建一个 hashmap
HashMap<String, Integer> primeNumbers = new HashMap<>();
primeNumbers.put("Two", 2);
primeNumbers.put("Three", 3);
primeNumbers.put("Five", 5);
System.out.println("Prime Numbers: " + primeNumbers);
// 打印 clone() 的返回值
System.out.println("clone() 的返回值: " + primeNumbers.clone());
}
}
输出
Prime Numbers: {Five=5, Two=2, Three=3}
clone() 的返回值: {Five=5, Two=2, Three=3}
在上述示例中,我们创建了一个名为 primeNumbers
的 hashmap。这里,我们打印了 clone()
返回的值。
注意:clone()
方法不仅限于 HashMap
类。任何实现了 Clonable
接口的类都可以使用 clone()
方法。