如何在Java中将一个向量复制到另一个向量而不更新原始向量?

2023-12-06

我正在将一个向量复制到另一个相同类型的向量。并修改复制向量,但原始向量也在更新我不明白为什么?

Vector<allocated>finished_copy=new Vector<allocated>();
finished_copy=finished;

我正在打印修改前后的原始向量的值

for(int k=0;k<finished.size();k++) {
        System.out.print(finished.elementAt(k).output);
        System.out.print(finished.elementAt(k).step);
        System.out.println();
}//some modification on finished_copy

并打印原件,但两者不同

请在这方面帮助我


你没有做任何副本。您所做的就是将相同的 Vector 分配给另一个变量:

Before:

finished ------> [a, b, c, d]

After:

finished ------> [a, b, c, d]
                 ^
                 |
finished_copy ---/

以下是将 Vector 的所有元素复制到另一个 Vector 中的方法:

Vector<Allocated> finishedCopy = new Vector<>(finished);

or

Vector<Allocated> finishedCopy = new Vector<>();
finishedCopy.addAll(finished);

然而,这将创建两个不同的向量,其中包含对相同分配实例的引用。如果您想要的是这些对象的副本,那么您需要创建显式副本。如果不进行复制,更改第一个列表中对象的状态也会更改其在第二个列表中的状态,因为两个列表都包含对相同对象的引用。

注意:

  • 类应该以大写字母开头
  • 变量不应包含下划线,而应采用驼峰式命名
  • 不应该再使用向量。 ArrayList 应该是,从 Java 2 开始。我们现在是 Java 8。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Java中将一个向量复制到另一个向量而不更新原始向量? 的相关文章

  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • 如何在 Openfire 中使用 smack

    你好 我计划开发一个可以连接到 gtalk facebook 等的聊天客户端 我决定将 smack API 与 openfire 一起使用 但我需要很少的指导来了解如何将它与 openfire 服务器一起使用 openfire 是否提供了基
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • 将字符串解析为结构变量

    我试图将字符串解析为其中包含不同变量的结构向量 这是我到目前为止所拥有的 但似乎不起作用 struct client string PhoneNumber string FirstName string LastName string Ag
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 从休眠乐观锁定异常中恢复

    我有一个这样的方法 Transactional propagation Propagation REQUIRES NEW public void doSomeWork Entity entity dao loadEntity do some
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有

随机推荐

  • python:转换损坏的xls文件

    我从 SAP 应用程序下载了一些销售数据集 SAP 已自动将数据转换为 XLS 文件 每当我打开它时使用Pandas库我收到以下错误 XLRDError Unsupported format or corrupt file Expected
  • 临时文件目录“/var/www/html/activate/../temp/”在实时服务器上不可写

    我在生成 PDF 文件时在实时服务器上收到此错误 它在我的本地系统上运行良好 我正在使用 Laravel 和这个 mPdf 包来生成 PDF PDF包 我如何向该 Temp 文件夹授予可写权限 我在代码中找不到它 并且在服务器上它也不位于上
  • Apache 2.4 中所有大写的 HTTP 标头都去掉了下划线

    我有一个应用程序依赖于发送全部大写加下划线的 HTTP 标头以及请求 从 开始阿帕奇2 4 包含无效字符 包括下划线 的标题现在 默默地落下 这一页建议您可以更改一些设置 以允许不删除旧的 HTTP 标头 即 如果它们在 CURL 中设置
  • 在光标位置插入笑脸

    我正在制作一个项目 用户可以单击表情符号并将它们插入到 contenteditable div 中 我想要三个 div 无论我在什么 div 中 笑脸都应该插入该 div 中 另外 这里的问题是表情符号只插入在 div 的末尾 我希望笑脸只
  • Javascript:如何获取输入文本区域的最后两个字符?

    获取文本区域框中输入的最后两个字符的最佳方法是什么 我需要输入最后 2 个字符 而不是整个字符串的最后两个字符 感谢您的帮助 你需要抓住keypress文本区域上的事件 然后保留按下的按键的日志 请注意 这将捕获箭头键 Shift Alt
  • 比较/过滤两个数组,其中数组 B 包含 A 的任何子字符串

    好的 这是我部分工作的内容 忽略区分大小写 比较以下内容 arrayA apples Oranges salt Cracked Black Pepper arrayB salt pepper orange 它 部分 与以下内容一起工作 fi
  • iPhone 相机视图上的实时水印图像

    提前特别感谢 我是iphone软件开发的初学者 只是寻找如何使用可可以编程方式将水印图像实时添加到相机视图中 不是一步一步地寻找 虽然那会很棒 而是或多或少地寻找我应该从哪里开始学习如何 是否有为此开发的框架 想要一些使用 XCode 框架
  • 将行添加到可编辑网格视图后,日期选择器不出现

    我有一个可编辑的 Gridview 其列如下
  • 同步两个滚动条JavaFX

    我的问题是我有两个水平滚动条 我希望它们一致滚动 我尝试使用 bar1 valueProperty bindBidirectional bar2 valueProperty 问题是我注意到bar1的最大值是1 0 while bar2的最大
  • 是否可以在 Android 中设置提示 Spinner [重复]

    这个问题在这里已经有答案了 无论如何 是否可以为微调器提供类似于为编辑文本字段提供的提示的提示 我知道您可以使用一个提示 为您提供一个标题栏 但仍将初始微调器字段保留为空白 直到您单击微调器 我目前有一种粗略的方法 将虚拟字段设置为旋转器数
  • jQuery 中多重选择的 val() 行为发生了变化吗?

    因此 我到处都看到每个人都说要在多选择元素中输出所选选项的值 应该使用如下所示的内容 selid selected val 在这种情况下 val 将返回一个值数组 好吧 我无法复制这种行为 据我所知 此类代码仅返回第一个选定的值 这是一个快
  • ANTLR:错误恢复和报告

    我在使用 ANTLR v3 恢复和重新发布错误时遇到问题 我点击这个链接http www antlr org blog antlr3 error handling tml但我没有那个解决方案 我想做一些报告和恢复 例如在源程序中是这样的 学
  • 如何从 spring-security 获取明文密码?

    我使用 Grails spring security LDAP 来验证用户身份 身份验证现在可以工作 但我需要纯文本密码来验证第二个服务 我尝试了 SpringSecurityService 属性 但没有一个包含密码 我是否必须实现自己的
  • 编译时出错 - 链接 .cpp 和头文件

    我正在尝试将我的 cpp 实现文件与我的头文件链接 我从我的 mac 终端收到此错误消息 rowlandev playground rowlandev g main cpp o main Undefined symbols for arch
  • 我可以在 html 文件中使用 nodejs 库吗?

    我想在 HTML 文件中使用该库nodemailer发送电子邮件 为了用 Node js 做到这一点 我简单地把var nodemailer require nodemailer 但是在我的 HTML 文件的脚本组件的顶部require不是
  • 使用 Jlink 在一个平台上为另一个平台创建 Java 运行时映像

    我在 Linux 机器上使用 jlink 创建了运行时映像 我明白了linux文件夹下的include文件夹 这是否意味着我只能在 Linux 平台上使用此运行时映像 如果是 是否有任何方法可以在一个平台上为另一个平台创建运行时映像 例如
  • 使用索引数据帧从数据帧中提取值 - R

    我有一个有用信息的数据框 X c 1 2 3 4 5 6 7 8 9 10 Y c 5 4 3 2 1 0 1 2 3 4 Z c 11 12 13 14 15 16 17 18 19 20 df lt data frame X Y Z 以
  • 将一个游戏对象组件添加到另一个具有运行时值的游戏对象中

    在运行时我想要将一个游戏对象组件复制到另一个游戏对象 就我而言 我有一台相机 其中添加了多个带有值设置的脚本 我想在运行时将相同的组件添加到我的另一个相机中 到目前为止 我已经尝试过此操作 获取对象的所有组件 然后尝试添加 但它不起作用 C
  • 如何在Android上不在webview中时清除webview的cookie和缓存?

    用户从我的应用程序注销后 我将通过调用此方法清除之前从 Web 视图中缓存的所有内容 public void clearCookiesAndCache Context context CookieSyncManager createInst
  • 如何在Java中将一个向量复制到另一个向量而不更新原始向量?

    我正在将一个向量复制到另一个相同类型的向量 并修改复制向量 但原始向量也在更新我不明白为什么 Vector