【问题标题】:Copy second array into first array with particular index将第二个数组复制到具有特定索引的第一个数组中
【发布时间】:2014-12-09 10:13:58
【问题描述】:

我需要一个代码来将第二个数组复制到第一个数组中的用户接受的特定索引处
注意:解决方案应该不使用新数组。

例如,样本输入

int[] arrayOne=new int[50]{1,2,3,4,5,6,7};
int[] secondArray={10,11};


从用户那里获得 index3 后,预期的输出将是

arrayOne={1,2,3,10,11,4,5,6,7};


谢谢

【问题讨论】:

  • 到目前为止,您尝试了什么?你卡在哪里了?或者这是一个“我不知道从哪里开始”的问题?
  • 一个明确的家庭作业问题

标签: java arrays


【解决方案1】:

System.arraycopy(secondArray, 0, arrayOne, 3, 2) 做你想做的事。

【讨论】:

  • 它确实在后台使用了另一个数组;)
  • 不,它不会——它只是复制底层内存。
  • 但是等等,你们都是对的。从文件“System.java”中,如果输入和输出数组不同,它只使用缓冲区,即使那样也可能不是。但我不是文字律师。我有一个 jpg 显示这个,但我不知道如何把它放在这个页面上。反正看看源代码文件../jdk1.6.0_20/src/java/lang/System.java"
  • 文档明确指出“...复制的执行就像首先将位置 srcPos 到 srcPos+length-1 的组件复制到临时数组...”注意“好像” .它与不同的数组无关,只是一种说法,如果使用 System.arraycopy 复制同一数组内的数据,则不会覆盖以后要复制的数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多