Java实现copyOfRange
Posted Java第一傻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现copyOfRange相关的知识,希望对你有一定的参考价值。
一、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.运行结果
三、总结
此函数实现只要注意数组下标的变化,难度不大。
以上是关于Java实现copyOfRange的主要内容,如果未能解决你的问题,请参考以下文章
java中的Arrays.copyOfRange方法抛出不正确的异常
at java.util.Arrays.copyOfRange(Arrays.java:3209)导致的java.lang.OutOfMemoryError: Java heap space 错误的解