Java HashMap clone()方法创建哈希表的浅表副本并返回它。
此处,浅表复制表示不复制键和值。而是复制对键/值的引用。
clone()方法的语法为:
hashmap.clone()
clone()方法没有任何参数。
返回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<String, Integer>)languages.clone()
这里,
languages.clone() - 返回对象languages的副本
(HashMap<String, Integer>) - 将clone()返回的对象转换为String类型键和Integer类型值的HashMap(要了解更多信息,请访问Java 类型转换)
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("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的哈希映射。在这里,我们打印了由clone()返回的值。
注意:clone()方法不是特定于HashMap类的。任何实现Clonable接口的类都可以使用clone()方法。