copyOfRange()函数复制某一区间的数组?
发布时间:2023-07-06 09:27:56
copyOfRange()函数是Java中Arrays类中的一个方法,用于复制某一区间的数组。它的作用是从指定的原始数组中复制一个指定的区间,生成一个新的数组。该方法的语法如下:
public static <T> T[] copyOfRange(T[] original, int from, int to)
其中,original表示要复制的原始数组,from表示起始索引(包括),to表示结束索引(不包括)。
以下是copyOfRange()函数的一些特点和使用注意事项:
1. copyOfRange()函数将返回一个新的数组,这个数组的长度等于to减去from。
2. 如果from比to大,函数将抛出IndexOutOfBoundsException异常。
3. 如果from或to超出原始数组范围,那么copyOfRange()函数将自动考虑原始数组的长度。即,如果from小于0,则认为from等于0;如果to大于原始数组长度,则认为to等于原始数组长度。
4. copyOfRange()函数可以用于复制任何类型的数组,包括基本数据类型数组和引用类型数组。
5. 对于基本数据类型数组,copyOfRange()函数会返回一个包装类数组(如int[]会返回Integer[])。
6. 对于引用类型数组,copyOfRange()函数会返回一个与原始数组类型相同的数组(如String[]会返回String[])。
7. copyOfRange()函数在复制过程中,会将原始数组中指定区间的元素复制到新的数组中,生成一个新的副本。这意味着对新数组的修改不会影响到原始数组。
8. copyOfRange()函数是深拷贝,即数组中的每个元素都会被复制,而不仅仅是引用。
以下是copyOfRange()函数的示例代码:
import java.util.Arrays;
public class CopyOfRangeExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] newArr = Arrays.copyOfRange(arr, 1, 4);
System.out.println("Original Array: " + Arrays.toString(arr));
System.out.println("Copied Range: " + Arrays.toString(newArr));
}
}
输出结果为:
Original Array: [1, 2, 3, 4, 5] Copied Range: [2, 3, 4]
以上代码复制了原始数组arr的索引从1到3的区间,生成了一个新的数组newArr。
