1.使用Map new_Map = old_Map 操作,当修改new_Map属性后,old_Map属性也跟着变了,但我并没有修改过old_Map; 2.由于Map中的value值不仅有基本数据类型,还有引用数据类型,所以当我修改引用类型属性后,new_Map和old_Map的引用变量值都发生变化;(如你的value都是基本类型,就不涉及深浅拷贝的问题)
intage){this.name=name;this.age=age;}// Getters and Setters@OverrideprotectedUserclone(){returnnewUser(this.name,this.age);}}publicclassMapDeepCopy{publicstaticMap<String,User>deepCopyMap(Map<String,User>original){Map<String,User>copy=newHashMap<>();for...
import java.io.*; public static <K extends Serializable, V extends Serializable> Map<K, V> deepCopyMapBySerialization(Map<K, V> originalMap) { try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); ByteArr...
当对象person内部发生变化时,充当copyMap value当中的person,也随之改变; 当map对象的String发生变化时,copyMap value当中的String,不变; 所以,使用比较符合使用copyMap的场景有两种: 情景1:当map当中充当value的对象的内部属性,确定不再改变时,可以使用copyMap; 情景2:当map当中充当value的为字符串时,可以使用copy...
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 params...
完成拷贝copyMap.putAll(map);System.out.println("copyMap:"+ copyMap);// 修改对象person属性person.setName("马先生");// 此时,copyMap当中的person对象也随之发生改变System.out.println("copyMap:"+ copyMap);// 修改原Map对象当中的String对应的值map.put("String","change");// 此时,copyMap当中...
HashMap<String, String> originalMap = new HashMap<>(); // 添加键值对到originalMap HashMap<String, String> deepCopyMap = new HashMap<>(originalMap); 无论使用哪种方式进行深层拷贝,都需要注意以下几点: 如果HashMap中的值是可变对象,深层拷贝只会复制引用,而不会复制对象本身。这意味着对于可变对象...
import java.util.Map;/** * 复制map对象 * @explain 将paramsMap中的键值对全部拷贝到resultMap中;* paramsMap中的内容不会影响到resultMap(深拷贝)* @param paramsMap * 被拷贝对象 * @param resultMap * 拷贝后的对象 */ public static void mapCopy(Map paramsMap, Map resultMap) { if (resul...
步骤1:创建源Map 首先,我们需要一个源Map,可以使用HashMap来存储一些键值对。下面是相关代码示例: importjava.util.HashMap;importjava.util.Map;publicclassDeepCopyExample{publicstaticvoidmain(String[]args){// 创建源Map并添加一些数据Map<String,String>sourceMap=newHashMap<>();sourceMap.put("name","Alice...
Java实现拷贝Map的方法 java map copy 最近,项目组要用到一个功能,就是用BeanUtils.copyProperties复制一个Map里的属性值到另外一个对象。 BeanUtils和PropertyUtils类是许多开源框架中频繁使用的两个工具,它们都能实现将一个类中的属性拷贝到另一个类中,这个功能甚至是spring实现依赖注入的基础。研究一下apache的comon...