当前位置: 首页 > 编程笔记 >

Java数组集合的深度复制代码实例

程阳平
2023-03-14
本文向大家介绍Java数组集合的深度复制代码实例,包括了Java数组集合的深度复制代码实例的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了Java数组集合的深度复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java当我们想要对一个数组进行一些操作,同时又不希望对原来的数组数据有影响的时候,使用引用是不能满足我们的需求的,

这时候我们可以使用System.arraycopy()方法实现,对用这两种复制方式,我们习惯称前者为浅复制,后者为深复制。深复制的
实现方法如下:

public static void arraycopyTest() {
 
  int[] arr = {1,2,3};
  int[] array = new int[arr.length];
  System.arraycopy(arr,0,array,0,arr.length);
  array[1] = 0;
  array[2] = 0;
  System.out.println(Arrays.toString(arr));
  System.out.println(Arrays.toString(array));
 
}

像上面复制的问题,在集合中我们也刚遇到过,下面以HashMap实现深复制为例,代码如下:

public static void hashMapcopyTest() {
 
  Map srcMap = new HashMap<String,String>();
  srcMap.put("1","test1");
  srcMap.put("2","test2");
  srcMap.put("3","test3");
  Map destMap = new HashMap();
  destMap.putAll(srcMap);
  destMap.remove("1");
  destMap.remove("2");
  System.out.println(srcMap.toString());
  System.out.println(destMap.toString());
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 编辑:@Rohit Jain 我的Recipe类和Ingreatent类(Recipe数组保存的对象)都有toString方法和recipes对Ingreats的调用,以便以一个漂亮的小格式将其全部打印出来。当我在我的“recipeone”对象(即意大利辣香肠披萨)上调用它时,我得到的是“意大利辣香肠披萨:1.0磅面团,8.0盎司酱汁,10.0盎司奶酪”。 然后我继续制作对象ressippi并将其

  • 本文向大家介绍Java 数组差集实例代码,包括了Java 数组差集实例代码的使用技巧和注意事项,需要的朋友参考一下 以下实例演示了如何使用 removeAll () 方法来计算两个数组的差集: Main.java 文件: 以上代码运行输出结果为: array1 的元素[common1, common2, notcommon2] array2 的元素[common1, common2, notcom

  • 本文向大家介绍JavaScript 数组的深度复制解析,包括了JavaScript 数组的深度复制解析的使用技巧和注意事项,需要的朋友参考一下 对于javascript而言,数组是引用类型,如果要想复制一个数组就要动脑袋想想了,因为包括concat、slice在内的函数,都是浅层复制。也就是说,对于一个二维数组来说,用concat来做复制,第二维的数组还是引用,修改了新数组同样会使旧数组发生改变。

  • 问题内容: 有没有更好的方法来实现这一目标? 注意: Arrays.asList(a)返回由指定数组支持的固定大小的列表。 (将返回的列表更改为“直写”到数组。)。我不要那种行为 我认为我上面的功能绕过了(或者我错了吗?) 因此,这里有另一种方法: 只看它, 我相信它比第一种方法更快 。 问题答案: 您用更好的方式表示什么: 更具可读性: 更少的内存消耗,并且可能更快(但绝对不是线程安全的): 顺

  • 本文向大家介绍C#复制和深度复制的实现方法,包括了C#复制和深度复制的实现方法的使用技巧和注意事项,需要的朋友参考一下 深度复制与浅表复制的区别在于,浅表复制只复制值类型的值,而对于实例所包含的对象依然指向原有实例。 运行结果: 一、List<T>对象中的T是值类型的情况(int 类型等) 对于值类型的List直接用以下方法就可以复制: 二、List<T>对象中的T是引用类型的情况(例如自定义的实

  • 本文向大家介绍Python数组并集交集补集代码实例,包括了Python数组并集交集补集代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python数组并集交集补集代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 并集 打印结果: 交集 打印结果: 补集 打印结果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望