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

Java ArrayList复制

周昊乾
2023-03-14
问题内容

ArrayList l1的尺寸为10。我将其分配l1给新列表引用类型l2。威尔l1l2指向同一个ArrayList对象吗?还是ArrayList分配给对象的副本l2?

使用l2引用时,如果我更新列表对象,它也会反映l1引用类型中的更改。

例如:

List<Integer> l1 = new ArrayList<Integer>();
for (int i = 1; i <= 10; i++) {
    l1.add(i);
}

List l2 = l1;
l2.clear();

除了创建2个列表对象并在集合上进行从旧到新的复制之外,没有其他方法可以将列表对象的副本分配给新的引用变量吗?


问题答案:

是的,分配将刚刚复制值的l1(这是引用)l2。它们都将引用相同的对象。

但是,创建浅表副本非常简单:

List<Integer> newList = new ArrayList<>(oldList);

(仅举一个例子。)



 类似资料:
  • 下面是Gradle Build的stacktrace: Build.Gradle看起来是这样的: 编辑1:从META-INF目录中的httpmime库的本地副本中删除我有问题的文件,成功解决了此问题

  • cp(copy),可以复制指定的文件与目录。 cp 要复制的源 复制到的目标 练习:复制文件 复制一份 ninghao-project 下面的 README.md ,放到 ninghao-project/app 这个目录的下面。 cp ninghao-project/README.md ninghao-project/app/ 练习:复制目录 要复制一个目录连同它里面包含的所有文件与子目录,需

  •  说明 调用方法: $.f2e.util.clip(text,message) 插件说明: 复制文字,现只支持IE 参数说明: 参数名 类型 说明 备注 text string 复制的文本内容 无 message string 复制成功后的提示文案 可不传 默认文案 复制成功 类绑定 <html> //复制 <a class="f2e-util-clip" data-text="

  • NowCoder 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的 head。 // java public class RandomListNode { int label; RandomListNode next = null; RandomListNode random =

  • 我有一个这样的数据帧。 现在,我想将第1列中的dict扩展到如下所示的各个列。 有没有捷径可以实现这一点?

  • 我想在POI中使用OPCPackage和XSSFWorkbook打开一个excel文件。由于这个文件将在不同的线程中使用,我想避免重新打开该文件以节省时间(POI在打开一个xlsx文件时速度较慢)。所以我所做的是将工作簿保存在一个全局变量中,然后线程将访问这个全局变量并重用对象。 我遇到的问题是当我尝试重用对象时,它影响/修改了excel文件的原始数据。

  • 一、题目 请实现函数ComplexListNode clone(ComplexListNode head),复制一个复杂链表。在复杂链表中,每个结点除了有一个next 域指向下一个结点外,还有一个sibling 指向链表中的任意结点或者null。 二、解题思路 在不用辅助空间的情况下实现O(n)的时间效率。 第一步:仍然是根据原始链表的每个结点N 创建对应的N’。把N’链接在N的后面。 第二步:设

  • 我需要创建一个按钮,当我点击它时,我复制一个我正在使用的特定链接。js 这是我的按钮 当我点击这个按钮时,我需要剪贴板上有类似“https::/google.com”的内容