Java HashMap clone() 方法

clone() 方法用于复制一份 hashMap,属于浅拷贝

拓展:

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存, 所以如果其中一个对象改变了这个地址,就会影响到另一个对象。。

浅拷贝对应的就是深拷贝,深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,且修改新对象不会影响原对象

语法

clone() 方法的语法为:

hashmap.clone()

注:hashmap 是 HashMap 类的一个对象。

参数说明:

返回值

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

实例

以下实例演示了 remove() 方法的使用:

import java.util.HashMap;

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

        HashMap<Integer, String> sites = new HashMap<>();
        sites.put(1, "Baidu");
        sites.put(2, "Mybj");
        sites.put(3, "Taobao");
        System.out.println("HashMap: " + sites);

        // 复制 sites
        HashMap<Integer, String> cloneSites = (HashMap<Integer, String>)sites.clone();
        System.out.println("Cloned HashMap: " + cloneSites);
    }
}

执行以上程序输出结果为:

HashMap: {1=Baidu, 2=Mybj, 3=Taobao}
Cloned HashMap: {1=Baidu, 2=Mybj, 3=Taobao}

在以上实例中,我们创建了一个名为 sites 的 HashMap,代码后面使用了 clone() 方法来拷贝一份 sites 副本。

注意表达式:

(HashMap<Integer, String>)sites.clone();
  • sites.clone() – 返回复制的 sites 对象
  • (HashMap<Integer, String>) 将返回的对象转换为一个 HashMap 并且它的键值 key 为 Integer 类型,values 为 String 类型。

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("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 的 HashMap,输出结果是 clone() 方法的返回值。

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

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » Java HashMap clone() 方法

发表评论

提供最优质的资源集合

立即查看 了解详情