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()方法。