gpt4 book ai didi

Java ArrayList : create a copy of array and use seperate from old, 但不创建新对象

转载 作者:行者123 更新时间:2023-11-29 09:49:48 25 4
gpt4 key购买 nike

例如,我有一个 ArrayList:

ArrayList<Animal> zoo = new ArrayList<Animal>();
// some code to add animals to zoo

我想将这个旧动物园复制到新动物园,我可以使用删除/添加...来处理这个新动物园。(和当然对老动物园没有影响)。所以,我有一个方法:创建新的动物园,克隆旧动物园中的每只动物(这意味着创建动物对象)。所以,它太慢了。

我有另一种方法:为旧动物园的每只动物创建一个引用并复制到新动物园。所以,新动物园只是引用了动物园的动物。所以,每次我删除/添加...它只是删除对动物对象的引用。不影响旧动物园,不创建新对象。

但是,我不知道如何在 Java 中执行此操作。请教我。

谢谢:)

最佳答案

这在 Java 中非常简单:

ArrayList<Animal> copy = new ArrayList<Animal>(zoo);

构造函数 ArrayList<T>(Collection<? extends E> c) 执行您作为参数提供的列表的浅拷贝,这正是您正在寻找的语义。

关于Java ArrayList : create a copy of array and use seperate from old, 但不创建新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com