📜  Java HashMap clone()

📅  最后修改于: 2020-09-27 00:35:44             🧑  作者: Mango

Java HashMap clone()方法制作哈希表的浅表副本并返回它。

此处,浅表复制表示不复制键和值。而是复制对键/值的引用。要了解有关浅表副本的更多信息,请访问Java浅表副本。

clone()方法的语法为:

hashmap.clone()

在这里, hashmapHashMap类的对象。


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