Java Arrays copyOfRange() 方法



描述

Java Arrays copyOfRange(long[] original, int from, int to) 方法将指定数组的指定范围复制到一个新数组中。范围的最终索引 (to) 必须大于或等于 from,可以大于 original.length,在这种情况下,索引大于或等于 original.length - from 的副本的所有元素都将放置 0L。返回数组的长度将为 to - from。

声明

以下是java.util.Arrays.copyOfRange() 方法的声明

public static long[] copyOfRange(long[] original, int from, int to)

参数

  • original − 这是要从中复制范围的数组。

  • from − 这是要复制范围的初始索引(包含)。

  • to − 这是要复制范围的最终索引(不包含)。

返回值

此方法返回一个新数组,其中包含来自原始数组的指定范围,已截断或填充零以获得所需的长度。

异常

  • ArrayIndexOutOfBoundsException − 如果 from < 0 或 from > original.length()

  • IllegalArgumentException − 如果 from > to。

  • NullPointerException − 如果 original 为 null。

将长整型数组复制到相同大小的数组示例

以下示例演示了 Java Arrays copyOfRange() 方法的用法。首先,我们创建了一个长整型数组。我们打印了它们。使用 copyOfRange() 方法创建相同大小的数组副本并打印。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      long[] longArr = { 10L, 20L, 30L, 13L };

      System.out.print("Long Array: [");
      for (int i = 0; i < longArr.length; i++) {
         System.out.print(longArr[i] + " ");
      }

      System.out.print("]\nCopied Array: \n");

      // Create copy of the array of same size
      long[] longArrCopy = Arrays.copyOfRange(longArr, 0, 4);
     
      System.out.print("Long Array: [");
      for (int i = 0; i < longArrCopy.length; i++) {
         System.out.print(longArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Long Array: [10 20 30 13 ]
Copied Array: 
Long Array: [10 20 30 13 ]

将长整型数组复制到更大大小的数组示例

以下示例演示了 Java Arrays copyOfRange() 方法的用法。首先,我们创建了一个长整型数组。我们打印了它们。使用 copyOfRange() 方法创建更大大小的数组副本并打印,附加默认值。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      long[] longArr = { 10L, 20L, 30L, 13L};
      System.out.print("Long Array: [");
      for (int i = 0; i < longArr.length; i++) {
         System.out.print(longArr[i] + " ");
      }
      System.out.print("]\nCopied Arrays: \n");

      // Create copy of the array of greater size
      long[] longArrCopy = Arrays.copyOfRange(longArr, 1, 6);

      System.out.print("Long Array: [");
      for (int i = 0; i < longArrCopy.length; i++) {
         System.out.print(longArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Long Array: [10 20 30 13 ]
Copied Arrays: 
Long Array: [20 30 13 0 0 ]

将长整型数组复制到更小大小的数组示例

以下示例演示了 Java Arrays copyOfRange() 方法的用法。首先,我们创建了一个长整型数组。我们打印了它们。使用 copyOfRange() 方法创建更小大小的数组副本并打印。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      long[] longArr = { 10L, 20L, 30L, 13L };

      System.out.print("Long Array: [");
      for (int i = 0; i < longArr.length; i++) {
         System.out.print(longArr[i] + " ");
      }
      System.out.print("]\nCopied Arrays: \n");

      // Create copy of the array of lesser size
      long[] longArrCopy = Arrays.copyOfRange(longArr, 1, 3);

      System.out.print("Long Array: [");
      for (int i = 0; i < longArrCopy.length; i++) {
         System.out.print(longArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Long Array: [10 20 30 13 ]
Copied Arrays: 
Long Array: [20 30 ]
java_util_arrays.htm
广告