Copying arrays using System class method

The System class has an arraycopy method that you can use to efficiently copy data from one array into another:

public static void arraycopy(Object src,

int srcPos,

Object dest,

int destPos,

int length)

The two Object arguments specify the array to copy from and the array to copy to. The three int arguments specify the starting position in the source array, the starting position in the destination array, and the number of array elements to copy.

The following program, ArrayCopyDemo, declares an array of char elements, spelling the word "decaffeinated". It uses arraycopy to copy a subsequence of array components into a second array:


class ArrayCopyDemo {

public static void main(String[] args) {

char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e',

             'i', 'n', 'a', 't', 'e', 'd' };

char[] copyTo = new char[7];


System.arraycopy(copyFrom, 2, copyTo, 0, 7);

System.out.println(new String(copyTo));



The output from this program is:


No comments:

Post a Comment