copyOfRange()函数从数组中复制一个子数组
发布时间:2023-07-06 12:50:48
copyOfRange()函数是Java中Arrays工具类提供的一个方法,用于从一个数组中复制一个指定范围的子数组。
该方法的声明如下:
public static T[] copyOfRange(T[] original, int from, int to)
其中,original为源数组,from为复制范围的起始索引(包括),to为复制范围的结束索引(不包括)。
copyOfRange()方法主要用于复制一个子数组,并返回一个新的数组。返回的数组的长度将根据复制的范围来确定。如果指定的复制范围超出了源数组的边界,会抛出异常。
对于原始数组original,复制范围的起始索引from必须大于等于0,且小于等于数组的长度。复制范围的结束索引to必须大于等于from,且小于等于数组的长度。
copyOfRange()方法的实现过程如下:
1. 首先判断复制范围是否超出了源数组的边界,如果是则抛出异常。
2. 创建一个新的数组newArray,其长度等于复制范围的大小。
3. 将源数组中从复制范围的起始索引开始,到复制范围的结束索引之前的元素,依次复制到新数组中。
4. 返回新数组。
copyOfRange()方法的使用示例如下:
int[] original = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOfRange(original, 1, 4);
System.out.println(Arrays.toString(newArray)); // 输出结果为:[2, 3, 4]
上述示例中,原始数组original长度为5,copyOfRange()函数从索引1开始复制,到索引4之前结束(即复制索引1、2、3位置的元素)。最终返回的新数组newArray长度为3,并且包含了原始数组索引1、2、3位置的元素。
总结起来,copyOfRange()函数通过复制一个源数组中指定范围的子数组,创建并返回一个新的数组。它提供了方便快捷的方式来获取任意长度的子数组,避免了手动操作数组的麻烦。
