java复制Map 对象(深拷贝和浅拷贝)

java复制Map 对象(深拷贝和浅拷贝)

2. 通过 putAll()方法能实现浅拷贝和深拷贝,

使用Map对象只能实现浅拷贝

public static void main(String[] args) {

// Map只能实现浅拷贝,paramMap中的内容发生变化,paramMap2中的内容亦同步发生变化

Map paramMap = new HashMap();

paramMap.put("name", "Marydon");

Map paramMap2 = new HashMap();

// 实现浅拷贝方式一:使用=

paramMap2 = paramMap;

paramMap.remove("name");

System.out.println(paramMap2);//{}

// 实现浅拷贝方式二:使用Map.putAll()

paramMap2.putAll(paramMap);

paramMap.remove("name");

System.out.println(paramMap2);//{}

}

使用HashMap 实现深拷贝

public static void main(String[] args) {

// HashMap可以实现真正意义上深拷贝,注意不是Map

HashMap paramMap = new HashMap();

paramMap.put("name", "Marydon");

HashMap paramMap2 = new HashMap();

// 实现深拷贝:使用HashMap.putAll()

paramMap2.putAll(paramMap);

paramMap.remove("name");

System.out.println(paramMap2);// {name=Marydon}

}

java复制Map 对象(深拷贝和浅拷贝)相关教程

java map to map 拷贝_java复制Map 对象(深拷贝和浅拷贝)相关推荐

  1. java map集合排序的_Java对Map集合进行排序

    Java对Map集合进行排序 实现 Comparator 接口,重写compare方法,完成自定义排序 int compare(Object o1, Object o2) 返回一个基本类型的整型 如果 ...

  2. java中map怎么取值_java中map的取值

    package com.itcast.map; import java.util.HashMap; import java.util.Map; import java.util.Set; import ...

  3. java set循环取值_Java遍历Map和遍历Set

    Java遍历Map public static void main(String[] args) { Map map = new HashMap(); map.put("1", & ...

  4. java 编码实现内存拷贝_java提高篇(六)-----使用序列化实现对象的拷贝

    我们知道在Java中存在这个接口Cloneable,实现该接口的类都会具备被拷贝的能力,同时拷贝是在内存中进行,在性能方面比我们直接通过new生成对象来的快,特别是在大对象的生成上,使得性能的提升非常 ...

  5. java中map的遍历方法_Java中Map的三种遍历方式

    集合中的三种遍历方式,如下代码: import java.util.Collection; import java.util.HashMap; import java.util.Iterator; i ...

  6. java遍历map前n项_Java遍历Map的几种方式

    日常开发中,遍历Map是很常见的操作,在Java中有几种方式可以实现.在此记录一下. Map map = new HashMap<>(); map.put(1997L, "牛&q ...

  7. java 遍历map并比较值_Java遍历Map,List的不同方法,并比较其性能

    最近在做文本分析相关的实验,统计词频,情感度量许多数据预处理的工作要用到集合类的遍历,借这个机会也好好复习了一下Java中Map,List的用法. 1. Map的遍历 Map这种集合不能直接取出元素, ...

  8. java的map线程安全吗_Java中Map线程安全实现

    前言介绍:volatile和transient关键字 第一种实现:HashTable 第二种实现:Collections.synchronizedMap(map) 第三种实现:ConcurrentHa ...

  9. java多层map嵌套取值_java中map的多层遍历

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Map> testmap=new HashMap>();Map user1=new HashMap();user1.put(1, (float ...

最新文章

  1. python怎么导入文件-Python文件如何引入?详解引入Python文件步骤
  2. 用route命令解决Wifi和网卡不能同时上内外网问题
  3. SAP同一公司不同工厂间物料转储方案比较
  4. CNNIC公告称半个月已处理不良网站域名万例
  5. PHP 8.0 源码编译安装 JIT 尝鲜
  6. CSS3 渐变: 线性渐变 linear-gradient 和 径向渐变 radial-gradient
  7. MongoDB练习题
  8. 怎样组建云计算机,如何搭建云计算平台_搭建云计算平台步骤
  9. C++复习(虚函数)
  10. C#使用PDF控件打开PDF
  11. 单片机矩阵键盘扫描程序c语言,51单片机矩阵键盘扫描程序
  12. 仿美团外卖小程序源码
  13. jmail邮件服务器,jmail 指定发送邮件的服务器
  14. 内存颗粒位宽和容量_高手进阶,终极内存技术指南(1)
  15. 基于MATLAB的隐函数偏导与多重积分(附代码)
  16. 【PB】动态报表格式自由定义的实现
  17. http://www.jb51.net/article/84149.htm
  18. HDTV 之-HDMI HPD
  19. 路由器mw320虚拟服务器,新版水星MW320R路由器怎么设置_新版水星MW320R路由器设置教程-192路由网...
  20. Excel-VBA:根据正则表达式提取文本(字符串、内容)

热门文章

  1. 他花了一个月,使用MicroPython将自己装进OLED里面
  2. Arduino IDE增加ATmega32开发选项遇到的问题
  3. 利用pyBoard的实验来讨论部分MicroPython特性
  4. @Slf4j注解介绍
  5. tdk磁材手册_TDK的铁氧体磁铁(FB系列) - TDK Product Center.PDF
  6. php id归零,帝国CMS怎样删除清空栏目和文章数据后新建的栏目和文章ID从1开始
  7. Kernel Driver DmaEgine 子系统 (一)
  8. 关于对锐捷光交换机的使用
  9. laravel mysql like_Laravel数据库查询中对 like 的值进行转义
  10. springweb 导入导出csv_诺基亚Nokia8110通讯录如何导入?这里有妙招