这里,浅拷贝意味着不拷贝键和值。相反,对键/值的引用被复制。要了解有关浅拷贝的更多信息,请访问 Java浅拷贝。
clone()
方法的语法是:
hashmap.clone()
这里,
hashmap 是
HashMap
类的对象。
clone() 参数
clone()
方法不带任何参数。
clone() 返回值
返回HashMap
实例(对象)的副本
示例 1: 制作 HashMap 的副本
import java.util.HashMap; class Main { public static void main(String[] args){ // create HashMap HashMap<String, Integer> languages = new HashMap<>(); languages.put("Java", 14); languages.put("Python", 3); languages.put("JavaScript", 1); System.out.println("HashMap: " + languages); // create copy of languages HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone(); System.out.println("Cloned HashMap: " + cloneLanguages); } }
输出
HashMap: {Java=14, JavaScript=1, Python=3} Cloned HashMap: {Java=14, JavaScript=1, Python=3}
在上面的例子中,我们创建了一个名为
languages 的 hashmap。注意表达式,
(HashMap<String, Integer>)languages.clone()
这里,
languages.clone()
-返回对象 languages 的副本
(HashMap
)
-将 clone()
返回的 object 转换为 String
的 hashmap code> type key 和 Integer
type values(要了解更多信息,请访问 Java Typecasting) 示例 2: 打印 clone() 的返回值
import java.util.HashMap; class Main { public static void main(String[] args){ // create a hashmap HashMap<String, Integer> primeNumbers = new HashMap<>(); primeNumbers.put("Two", 2); primeNumbers.put("Three", 3); primeNumbers.put("Five", 5); System.out.println("Numbers: " + primeNumbers); // print the return value of clone() System.out.println("return value of clone(): " + primeNumbers.clone()); } }
输出
Prime Numbers: {Five=5, Two=2, Three=3}
return value of clone(): {Five=5, Two=2, Three=3}
在上面的例子中,我们创建了一个名为
primeNumbers 的哈希映射。在这里,我们打印了
clone()
返回的值。
注意: clone() 方法并非特定于 HashMap 类。任何实现 Clonable 接口的类都可以使用 clone() 方法。