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