Java HashMap clone()方法創(chuàng)建哈希表的淺表副本并返回它。
此處,淺表復(fù)制表示不復(fù)制鍵和值。而是復(fù)制對鍵/值的引用。
clone()方法的語法為:
hashmap.clone()
clone()方法沒有任何參數(shù)。
返回HashMap實(shí)例(對象)的副本
import java.util.HashMap;
class Main {
public static void main(String[] args){
// 創(chuàng)建 HashMap
HashMap<String, Integer> languages = new HashMap<>();
languages.put("Java", 14);
languages.put("Python", 3);
languages.put("JavaScript", 1);
System.out.println("HashMap: " + languages);
// 創(chuàng)建 languages 的副本
HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone();
System.out.println("HashMap的副本: " + cloneLanguages);
}
}輸出結(jié)果
HashMap: {Java=14, JavaScript=1, Python=3}
HashMap 的副本: {Java=14, JavaScript=1, Python=3}在上面的示例中,我們創(chuàng)建了一個名為languages的哈希映射。注意表達(dá)式
(HashMap<String, Integer>)languages.clone()
這里,
languages.clone() - 返回對象languages的副本
(HashMap<String, Integer>) - 將clone()返回的對象轉(zhuǎn)換為String類型鍵和Integer類型值的HashMap(要了解更多信息,請?jiān)L問Java 類型轉(zhuǎn)換)
import java.util.HashMap;
class Main {
public static void main(String[] args){
// 創(chuàng)建 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());
}
}輸出結(jié)果
Prime Numbers: {Five=5, Two=2, Three=3}
clone()的返回值: {Five=5, Two=2, Three=3}在上面的示例中,我們創(chuàng)建了一個名為primeNumbers的哈希映射。在這里,我們打印了由clone()返回的值。
注意:clone()方法不是特定于HashMap類的。任何實(shí)現(xiàn)Clonable接口的類都可以使用clone()方法。