java如何使用CopyOfRange()方法对数组进行复制?

TK 2020-09-21 10:13:19 java常见问答 6860

你知道java怎样使用CopyOfRange()方法对数组进行复制吗?下面的话要给大家讲到的就是这个方面的知识,一起来了解一下吧。

Arrays类的CopyOfRange()方法是另一种复制数组的方法,下面是语法形式:

Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)

在这当中,srcArray表示原数组、startIndex表示开始复制的起始索引,目标数组中将包含起始索引对应的元素,除此之外,startIndex必须在0到srcArray.length之间、endIndex表示终止索引,目标数组中将不包含终止索引对应的元素,endIndex必须大于等于startIndex,可以大于 srcArray.length,假如,大于srcArray.length,那么目标数组中使用默认值填充。

注意一下了,目标数组假如已经存在了,那么就会被重构。

下面的话,来看一下相关示例:

假设有一个名称为scores的数组其元素为8个,现在需要定义一个名称为newScores的新数组。

新数组的元素为scores数组的前5个元素,并且顺序不变。

使用Arrays类copyOfRange()方法完成数组复制的代码如下:

public class Test20
{
    public static void main(String[] args)
    {
        // 定义长度为8的数组
        int scores[] = new int[]
        {
            57
            , 81
            , 68
            , 75
            , 91
            , 66
            , 75
            , 84
        };
        System.out.println("原数组内容如下:");
        // 循环遍历原数组
        for (int i = 0; i < scores.length; i++)
        {
            System.out.print(scores[i] + "\t");
        }
        // 复制原数组的前5个元素到newScores数组中
        int newScores[] = (int[]) Arrays.copyOfRange(scores, 0, 5);
        System.out.println("\n复制的新数组内容如下:");
        // 循环遍历目标数组,即复制后的新数组
        for (int j = 0; j < newScores.length; j++)
        {
            System.out.print(newScores[j] + "\t");
        }
    }
}

原数组scores当中包含有8个元素,使用Arrays.copyOfRange()方法可以将该数组复制到长度为5的newScores数组中,截取scores数组的前5个元素即可。

运行结果:

原数组内容如下:
57    81    68    75    91    66    75    84   
复制的新数组内容如下:
57    81    68    75    91

更多Java复制拷贝数组方法请继续关注奇Q工具网来进行了解吧,更多java常见问题及解决方法可以为你解答。

推荐阅读:

Java复制拷贝数组方法详解,使用copyOf()方法

java如何使用arraycopy()方法对数组进行复制?

java如何使用使用clone()方法对数组进行复制?