一、copyOfRange
public static int[] copyOfRange(int[] original, int from, int to)
将指定数组的指定范围复制到新数组中。 范围( from )的初始指数必须在零和original.length之间,包括在内。 original[from]的值被放置在副本的初始元素中(除非from == original.length或from == to )。原始数组中后续元素的值将被放置在副本中的后续元素中。 必须大于或等于from的范围( to )的最终指数可能大于original.length ,在这种情况下0被放置在其索引大于或等于original.length - from的副本的所有元素中。 返回的数组的长度将为to - from 。
参数 :
original - 要从中复制范围的数组
from - 要复制的范围的初始索引(包括)
to - 要复制的范围的最终索引,排他。 (该索引可能位于数组之外)
结果 :
一个包含原始数组的指定范围的新数组,用零截取或填充以获得所需的长度
异常 :
ArrayIndexOutOfBoundsException - 如果 from < 0或 from > original.length
IllegalArgumentException - 如果 from > to
NullPointerException - 如果 original为空
二、Java语言实现
1.实现copyOfRange
代码如下(示例):
public static long[] copyOfRange(long[] original,int formIndex,int toIndex) {
long arr[] = new long[toIndex - formIndex + 1];
for (int i = 0; i < toIndex - formIndex + 1 ; i++) {
arr[i] = original[formIndex++];
}
return arr;
}
2.测试用例
public static void main(String[] args) {
long [] original={1,5,9,6,7,3};
long[] arr= copyOfRange(original,1,7);
for (int i = 0; i <arr.length; i++) {
System.out.println(arr[i]);
}
}
3.运行结果
三、总结
此函数实现只要注意数组下标的变化,难度不大。