此处,浅表复制表示不复制键和值。而是复制对键/值的引用。要了解有关浅表副本的更多信息,请访问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 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 cloneLanguages = (HashMap)languages.clone();
System.out.println("Cloned HashMap: " + cloneLanguages);
}
}
输出
HashMap: {Java=14, JavaScript=1, Python=3}
Cloned HashMap: {Java=14, JavaScript=1, Python=3}
在上面的示例中,我们创建了一个名为language的哈希表。注意表达式
(HashMap)languages.clone()
这里,
-
languages.clone()
-返回对象语言的副本 -
(HashMap
-将) clone()
返回的对象转换为String
类型键和Integer
类型值的哈希图(要了解更多,请访问Java Typecasting)
示例2:打印clone()的返回值
import java.util.HashMap;
class Main {
public static void main(String[] args){
// create a hashmap
HashMap 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()
方法。