java 将Map拷贝到另一个Map对象当中

CreateTime--2018年6月4日09点46分

Author:Marydon

1.需求说明

  将一个MapA对象中所有的键值对完全拷贝到另一个MapB对象中;

  另一个MapB对象中原来的键值保持不变(不受影响);

  拷贝成功后MapB对象当中的内容将不再随着MapA中内容的变化而变化。

2.代码实现

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* 复制map对象
* @explain 将paramsMap中的键值对全部拷贝到resultMap中;
* paramsMap中的内容不会影响到resultMap(深拷贝)
* @param paramsMap
* 被拷贝对象
* @param resultMap
* 拷贝后的对象
*/
public static void mapCopy(Map paramsMap, Map resultMap) {
if (resultMap == null) resultMap = new HashMap();
if (paramsMap == null) return; Iterator it = paramsMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
resultMap.put(key, paramsMap.get(key) != null ? paramsMap.get(key) : ""); }
}

3.测试

public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>(1);
map.put("name", "Marydon");
Map<String, Object> map2 = new HashMap<String, Object>(1);
map2.put("age", 20);
// 测试一:是否实现拷贝
mapCopy(map2, map);
System.out.println(map);// {age=20, name=Marydon}
System.out.println(map2);// {age=20}
// 测试二:拷贝后的map对象是否受原map对象的影响
map2.clear();
System.out.println(map);// {age=20, name=Marydon}
System.out.println(map2);// {} }

  

 

java 将Map拷贝到另一个Map对象当中的更多相关文章

  1. 判断map是否包含另一个map

    判断map是否包含另一个map: map不同与list集合,list集合有直接判断集合是否包含其他集合或者元素的方法. boolean contains(Object o) 如果list包含指定的元素 ...

  2. 编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。

    package example; import java.io.*; public class Test { public static void main(String[] args) throws ...

  3. java catch 捕获异常后会产生一个实例对象 该对象能使用父类的方法

  4. Java虚拟机系列(二)---HotSpot虚拟机对象

    都知道Java是一门面向对象的编程语言,在Java程序运行过程中,无时无刻不在创建对象,所以这节来总结一下HotSpot虚拟机中的Java对象. 一.Java虚拟机对象的创建过程. 在语义层面创建一个 ...

  5. [Java编程思想] 第二章 一切都是对象

    第二章 一切都是对象 2.1 用引用操纵对象   创建一个String引用: String s;   这里所创建的只是引用,并不是对象.   创建一个引用的同时便初始化: String s = &qu ...

  6. BeanUtils使用:从一个map集合中,拷贝到javaBean中(四)

    package beanutil; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; impo ...

  7. Bean-Query 一个把对象转换为Map的Java工具库

    刚开源了一个经过完整測试的Java工具类. 地址例如以下: https://github.com/Jimmy-Shi/bean-query 使用说明例如以下: Bean-query Click Her ...

  8. java map添加另一个map时候 键值对的类型要一致

    java map添加另一个map时候 键值对的类型要一致

  9. java中list里面存放map,根据map中的某一个字段进行排序

    package com; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; ...

随机推荐

  1. Java-子类扩展父类功能

    class person {  private String name;  private int age;  public String getname(){   return this.name; ...

  2. 关于Hyper-V备份的四大注意事项

    尽管Hyper-V备份相对简单,但备份管理员仍需注意四大问题.这四方面的问题在创建备份时可能不太重要,但在备份恢复时影响甚大. 1.对于虚拟机来说不仅意味着虚拟磁盘 就目前来看,企业在执行Hyper- ...

  3. datagrid在MVC中的运用07-实现Master-Detail(使用PartialView)

    本文主要体验用jQuery Easyui的datagrid来实现Master-Detail主次表.谢谢Kevin的博文,助我打开了思路. 主表显示所有的Category,当点击主表的展开按钮,显示该C ...

  4. MVC扩展Filter,通过继承HandleErrorAttribute,使用log4net或ELMAH组件记录服务端500错误、HttpException、Ajax异常等

    □ 接口 public interface IExceptionFilter{    void OnException(ExceptionContext filterContext);} Except ...

  5. 解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题

    1.开始 -- 运行,输入”Regedit“,打开 注册表 . 2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ‘计算机\HKEY_CURRENT_USER\Software\E ...

  6. 算法:Rate of Growth

    Rate of growth describes how an algorithm’s complexity changes as the input size grows. This is comm ...

  7. Selenium2+python自动化36-判断元素存在

    前言 最近有很多小伙伴在问如何判断一个元素是否存在,这个方法在selenium里面是没有的,需要自己写咯. 元素不存在的话,操作元素会报错,或者元素有多个,不唯一的时候也会报错.本篇介绍两种判断元素存 ...

  8. Java中List效率的比较

    Java Collections Framework(JCF) 是Java SE中一个基本的类集,几乎所有的项目都会用到,其中的List 则是JCF中最最常用的一个接口.围绕List 接口,有很多实现 ...

  9. numpy转换

    csv2npy cccsv=numpy.genfromtxt('/root/c.csv', delimiter = ',') buf2npy imga=numpy.frombuffer(buf,num ...

  10. 《Unix内核源码剖析》

    <Unix内核源码剖析> 基本信息 作者: (日)青柳隆宏 译者: 殷中翔 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115345219 上架时间:2014-2 ...