Java中的 System.arraycopy()
Java.lang.System 类为标准输入和输出、加载文件和库或访问外部定义的属性提供了有用的方法。 Java.lang.System.arraycopy() 方法将源数组从特定的开始位置复制到目标数组中的指定位置。要复制的参数数量由len参数决定。
source_Position到source_Position + length – 1的组件被复制到目标数组,从destination_Position到destination_Position + length – 1
类声明
public final class System
extends Object
句法 :
public static void arraycopy(Object source_arr, int sourcePos,
Object dest_arr, int destPos, int len)
Parameters :
source_arr : array to be copied from
sourcePos : starting position in source array from where to copy
dest_arr : array to be copied in
destPos : starting position in destination array, where to copy in
len : total no. of components to be copied.
执行
// Java program explaining System class method - arraycopy()
import java.lang.*;
public class NewClass
{
public static void main(String[] args)
{
int s[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
int d[] = { 15, 25, 35, 45, 55, 65, 75, 85, 95, 105};
int source_arr[], sourcePos, dest_arr[], destPos, len;
source_arr = s;
sourcePos = 3;
dest_arr = d;
destPos = 5;
len = 4;
// Print elements of source
System.out.print("source_array : ");
for (int i = 0; i < s.length; i++)
System.out.print(s[i] + " ");
System.out.println("");
System.out.println("sourcePos : " + sourcePos);
// Print elements of source
System.out.print("dest_array : ");
for (int i = 0; i < d.length; i++)
System.out.print(d[i] + " ");
System.out.println("");
System.out.println("destPos : " + destPos);
System.out.println("len : " + len);
// Use of arraycopy() method
System.arraycopy(source_arr, sourcePos, dest_arr,
destPos, len);
// Print elements of destination after
System.out.print("final dest_array : ");
for (int i = 0; i < d.length; i++)
System.out.print(d[i] + " ");
}
}
输出:
source_array : 10 20 30 40 50 60 70 80 90 100
sourcePos : 3
dest_array : 15 25 35 45 55 65 75 85 95 105
destPos : 5
len : 4
final dest_array : 15 25 35 45 55 40 50 60 70 105