java 深拷贝与浅拷贝
在 Java 中,List 是一个接口,常见的实现类有 ArrayList 和 LinkedList。当我们需要复制一个 List 时,通常有两种方法:浅拷贝和深拷贝。浅拷贝只复制 List 中的引用,而深拷贝则会复制 List 中的所有元素。下面我们来看一下如何实现 List 的深拷贝。
假设我们有一个 Person 类,包含 name 和 age 两个属性:
csharp public class Person { private String name; private int age;
public Person(String name, int age) { this.name = name; this.age = age; }
public String getName() { return name; }
public int getAge() { return age; } }
现在我们有一个 List,其中包含了一些 Person 对象:
java import java.util.ArrayList; import java.util.List;
public class DeepCopyExample { public static void main(String[] args) { List
要实现 List 的深拷贝,可以使用 java.util.ArrayList 的构造函数:
java import java.util.ArrayList; import java.util.List;
public class DeepCopyExample { public static void main(String[] args) { List
// 深拷贝 List
上述代码中,我们使用 ArrayList 的构造函数来创建一个新的 List,并将原始列表作为参数传递进去。这样创建的新列表就是原始列表的深拷贝。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库