Search Java Programs

Tuesday, January 19, 2010

Copying Arrays - arraycopy()

After learning all about arrays, there is still one interesting thing left to learn i.e. copying arrays. It means to copy data from one array to another. The precise way to copy data from one array to another is
public static void arraycopy(Object source,
int srcIndex,
Object dest,
int destIndex,
int length)
Thus apply system's arraycopy method for copying arrays.The parameters being used are :-
src the source array
srcIndex start position (first cell to copy) in the source array
dest the destination array
destIndex start position in the destination array
length the number of array elements to be copied

The following program, ArrayCopyDemo(in a .java source file), uses arraycopy to copy some elements from the copyFrom array to the copyTo array.

public class ArrayCopyDemo{
public static void main(String[] args){
char[] copyFrom = {'a','b','c','d','e','f','g','h','i','j'};
char[] copyTo = new char[5];
System.arraycopy(copyFrom, 2, copyTo, 0, 5);
System.out.println(new String (copyTo));
}
}

Output of the program:

C:\tamana>javac ArrayCopyDemo.java
C:\tamana>java ArrayCopyDemo
cdefg
C:\tamana>

In this example the array method call begins the copy of elements from element number 2. Thus the copy begins at the array element 'c'. Now, the arraycopy method takes the copied element and puts it into the destination array. The destination array begins at the first element (element 0) which is the destination array copyTo. The copyTo copies 5 elements : 'c', 'd', 'e', 'f', 'g'. This method will take "cdefg" out of "abcdefghij", like this :

Following image illustrates the procedure of copying array from one to another.

Donwload this example.

No comments:

Post a Comment

Website Design by Mayuri Multimedia