Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 复制阵列并使其更长?_Java_Arrays_Excel_Arraylist - Fatal编程技术网

Java 复制阵列并使其更长?

Java 复制阵列并使其更长?,java,arrays,excel,arraylist,Java,Arrays,Excel,Arraylist,我需要编写一个名为copyRange的方法,该方法将两个数组a1和a2、两个起始索引i1和i2以及一个长度l作为参数,并将从索引i1开始的a1的前l个元素复制到从索引i2开始的数组a2中 例如,给定这两个阵列: int[] a1 = {1, 2, 3, 4, 5, 6}; int[] a2 = {21, 22, 23, 24, 25, 26}; copyRange(a1, a2, 0, 3, 2); 在前面的调用之后,a2的内容将是{21、22、23、1、2、26}。您可以假设参数的值是有效的

我需要编写一个名为copyRange的方法,该方法将两个数组a1和a2、两个起始索引i1和i2以及一个长度l作为参数,并将从索引i1开始的a1的前l个元素复制到从索引i2开始的数组a2中

例如,给定这两个阵列:

int[] a1 = {1, 2, 3, 4, 5, 6};
int[] a2 = {21, 22, 23, 24, 25, 26};
copyRange(a1, a2, 0, 3, 2);
在前面的调用之后,a2的内容将是{21、22、23、1、2、26}。您可以假设参数的值是有效的,数组足够大,可以容纳数据,等等

我很困惑如何开始这个问题。 谢谢

有一个Java库,正是为了这个

您可以这样使用它:

int arr1[] = {1, 2, 3, 4, 5, 6};
int arr2[] = {21, 22, 23, 24, 25, 26};
System.arraycopy(arr1, 0, arr2, 3, 2); 
//copies 2 items from arr1, starting_index 0 to arr2, starting_index 3

您应该从定义签名的方法开始 复制范围A1、a2、0、3、2

你知道它返回一个整数数组和它的参数,所以写

public ??? copyRange(int a1[],...) {

}
请记住,数组在Java中是过去的引用,因此不能更改a1和a2中的值。相反,您应该复制a2,然后插入a1中的元素并返回副本


是Java中处理数组的内置方法,其速度非常快。你或许可以好好利用它。

请不要在这里问你如何做家庭作业。