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<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<String, Integer>)languages.clone()

这里,

  • languages.clone() - 返回对象languages的副本
  • (HashMap<String, Integer>) - 将clone()返回的对象转换为键为String类型、值为Integer类型的哈希表(要了解更多信息,请访问Java类型转换

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


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战