对ArrayList 进行深拷贝

            ArrayList arr = new ArrayList();
            arr.Add(new People("A", 10));
            arr.Add(new People("B", 20));
            arr.Add(new People("C", 30));

            ArrayList arr2 = new ArrayList();
            foreach (People p in arr)
            {
                arr2.Add(p.Clone());
            }
时间: 2024-10-25 00:03:01

对ArrayList 进行深拷贝的相关文章

【转】hashmap浅拷贝和深拷贝--不错

原文网址:http://canofy.iteye.com/blog/258790 java深拷贝与浅拷贝 //浅拷贝与深拷贝 //浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象. //换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象. //深拷贝:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量. //那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象. //换言之,深复制把要复制的

【转】精简深拷贝ArrayList实例

原文网址:http://gghhgame51333.blog.51cto.com/138362/289383 精简深拷贝ArrayList实例(包括递归和序列化方法) 2007-07-12 16:50 作者fbysssmsn:[email protected]  blog:blog.csdn.net/fbysss声明:本文由fbysss原创,转载请注明出处 关键字:深拷贝,序列化 前言:        日前一哥们问我一个有关多层ArrayList拷贝的问题,我帮他写了一个例程,感觉以后用得着,便

Java中如何克隆集合——ArrayList和HashSet深拷贝

编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味着存储在原始List和克隆List中的对象是相同的,指向Java堆内存中相同的位置.增加了这个误解的原因之一是对于不可变对象集合的浅克隆.由于不可变性,即使两个集合指向相同的对象是可以的.字符串池包含的字符串就是这种情况,更改一个不会影响到另一个.使用ArrayList的拷贝构造函数创建雇员List

Java源码分析系列之ArrayList读后感

1.前言 在平时的开发中,Java集合一直是比较常用的.以前,对集合的掌握并不深入,仅简单的使用增删改查的相关方法.这个星期,抽时间反复的读了几遍ArrayList的源码,有了一些收获,写出来给自己,也希望对大家有帮助. 2.走进ArrayList 看一下ArrayList的声明和属性 声明: public class ArrayList<E> extends AbstractList<E>         implements List<E>, RandomAcces

ArrayList/LinkedList/Vector源码分析

ArrayList public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable ArrayList继承了AbstractList,实现了List,表示ArrayList实现了线性表的所有功能,本质上是一个Object数组: ArrayList实现了RandomAccess接口,表示提供随机访问功能,A

Java List 的深拷贝

老是会遇到深拷贝与浅拷贝的问题,这里进行了一些测试,代码如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.Obj

【转】Java如何克隆集合——深度拷贝ArrayList和HashSet

原文网址:http://blog.csdn.net/cool_sti/article/details/21658521 原英文链接:http://javarevisited.blogspot.hk/2014/03/how-to-clone-collection-in-java-deep-copy-vs-shallow.html 程序员通常会误用集合类(如List.Set.ArrayList.HashSet)所提供的拷贝构造函数或其它方法来完成集合的拷贝.值得记住的一点是,Java中集合提供的拷贝

由LintCode问题子集出发,浅析ArrayList的拷贝问题

在做LintCode上的递归类题目子集时,我一开始的想法是递归到最后一层即单元素时然后开始逐层返回,产生相应的每层的子集并添加到最终的结果中去.于是乎有了以下代码: public List<List<Integer>> findSolution(int[] nums, int begin, int end){ List<List<Integer>> result = new ArrayList<>(); List<List<Integ

ArrayList 源码解析

本解析源码来自JDK1.7 ArrayList 概要 继承Collection接口,实现了随机存取,自动扩容 内部使用数组进行存储,size表示List中元素的个数 private transient Object[] elementData; private int size; 允许null值 与Vector基本相同,但是ArrayList是非同步的,可以使用 List list = Collections.synchronizedList(new ArrayList(...))做同步 Arr