当前位置: 首页 > 面试题库 >

如何将一个ArrayList的内容复制到另一个?

程俊健
2023-03-14
问题内容

我有一些数据结构,我想将其中一个用作临时结构,将另一个用作非临时结构。

ArrayList<Object> myObject = new ArrayList<Object>();
ArrayList<Object> myTempObject = new ArrayList<Object>();


//fill myTempObject here
....

//make myObject contain the same values as myTempObject
myObject = myTempObject;

//free up memory by clearing myTempObject
myTempObject.clear();

现在的问题当然是myObject实际上只是指向myTempObject,因此一旦myTempObject清除,也是如此myObject

如何myTempObjectmyObject使用Java时保留值?


问题答案:

您可以使用以下技巧:

myObject = new ArrayList<Object>(myTempObject);

或使用

myObject = (ArrayList<Object>)myTempObject.clone();

您可以在此处获取有关clone()方法的一些信息

但是您应该记住,所有这些方式都会给您 List 的副本,而不是其所有元素。因此,如果您更改复制的列表中的元素之一,则它也将在原始列表中进行更改。



 类似资料:
  • 问题内容: 我在做下面的运动。 创建一个包含四个元素的切片。 创建一个新切片,并将第三个和第四个元素仅复制到其中。 我已经返回了以下程序 我程序的输出是。但我希望newElements切片为[3 4]- 我的程序出了什么问题。 问题答案: 使用内置的复制功能将元素从一个切片复制到另一个切片。 在操场上跑 您可以使用append创建切片并在单个语句中复制元素,但是代码并不像使用copy那样明显。 在

  • 我有一个名为TwoNumbers的类,它创建一个包含两个数字的对象。我创建了一个包含此对象的ArrayList<>,并希望将这些对象复制到新的ArrayList中。 问题是我只想将不同的对象复制到新的ArrayList中。当对象内部的数字可能相同时,Java将每个对象视为不同的对象,我不知道如何阻止它复制每个对象。 我的TwoNumber类:公共TwoNumbers(int n1,int n2)

  • 问题内容: 我在不同的程序包中有几个Pojo,每个POJO包含同一程序包中另一个Pojo的集合。我需要将所有具有相同名称的项目从Package B Pojos复制到Package A中的对象。 极端: 我想递归地将所有项目从类复制到存在且共享相同名称的类。 更新: 伙计们,我知道这是一个愚蠢的问题,但是我需要维护此代码,现在编写代码时,他们必须调用50个getter和setter或使用50个参数调

  • 问题内容: 我想复制一个画布上的所有内容,然后在客户端将它们全部转移到另一个画布上。我认为我会使用and 方法来实现这一点,但是我遇到了一些问题。 我的解决方案是将其获取并存储在Javascript中的Image对象中,然后使用该方法将其放回原处。 但是,我相信该方法会返回一个带有64位编码标签的标签。这似乎不是一个有效的标签,(我总是可以使用一些RegEx删除它),但是子字符串之后的64位编码字

  • 我目前有一个ArrayList,其中包含“Product”对象,每个对象中包含一个字符串、整数和double。我希望能够使用参数搜索对象,找出与搜索参数匹配的ID(整数值),并将此对象复制到另一个ArrayList中。有没有可能通过迭代器实现这一点,或者有没有更简单的方法?

  • 问题内容: 将整个目录内容复制到Java或groovy中的另一个目录的方法? 问题答案: 将整个目录复制到保存文件日期的新位置。此方法将指定的目录及其所有子目录和文件复制到指定的目的地。目标是目录的新位置和名称。 如果目标目录不存在,则会创建该目录。如果目标目录确实存在,则此方法将源与目标合并,并且源优先。 为此,这是示例代码