Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java HashMap clone() 使用方法及示例

Java HashMap 方法

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

此处,浅表复制表示不复制键和值。而是复制对键/值的引用。

clone()方法的语法为:

hashmap.clone()

clone()参数

clone()方法没有任何参数。

clone()返回值

  • 返回HashMap实例(对象)的副本

示例1:创建HashMap的副本

import java.util.HashMap;

class Main {
    public static void main(String[] args){

        // 创建 HashMap
        HashMap<String, Integer> languages = new HashMap<>();

        languages.put("Java", 14);
        languages.put("Python", 3);
        languages.put("JavaScript", 1);
        System.out.println("HashMap: " + languages);

        // 创建 languages 的副本
        HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone();
        System.out.println("HashMap的副本: " + cloneLanguages);
    }
}

输出结果

HashMap: {Java=14, JavaScript=1, Python=3}
HashMap 的副本: {Java=14, JavaScript=1, Python=3}

在上面的示例中,我们创建了一个名为languages的哈希映射。注意表达式

(HashMap<String, Integer>)languages.clone()

这里,

  • languages.clone() - 返回对象languages的副本

  • (HashMap<String, Integer>) - 将clone()返回的对象转换为String类型键和Integer类型值的HashMap(要了解更多信息,请访问Java 类型转换

示例2:打印clone()的返回值

import java.util.HashMap;

class Main {
    public static void main(String[] args){

        // 创建 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());
    }
}

输出结果

Prime Numbers: {Five=5, Two=2, Three=3}
clone()的返回值: {Five=5, Two=2, Three=3}

在上面的示例中,我们创建了一个名为primeNumbers的哈希映射。在这里,我们打印了由clone()返回的值。

注意:clone()方法不是特定于HashMap类的。任何实现Clonable接口的类都可以使用clone()方法。

Java HashMap 方法