What is Java System.arraycopy() Method?
Java System.arraycopy() method Declaration
The method declaration for java.lang.System.arraycopy() method in the java.lang class is as follows:public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)
Parameters
Following are the parameters of the arraycopy method:src: It is the source array.
srcIndex: It is the starting index of the source array.
dest: It is the destination array.
destIndex: It is the starting index of the destination array.
len: It is the number of elements that need to be copied from the source array to the destination array.
Functionality
The arraycopy method copies data from src, starting from srcIndex till srcIndex +(len - 1) elements, to the dest array at destIndex till destIndex + (len - 1).Return Value
The arraycopy method is has a void return type which means it does not return anything.Example
public class Example {
public static void main(String[] args) {
String[] src = { "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
String[] dest = { "January", "February", "March", "April", "May", "June", "July", "August"};
int srcIndex = 2;
int destIndex = 3;
int len = 2;
//print number of elements that need to be copied
//from the source to the destination array
System.out.println("len : " + len);
//print source index
System.out.println("srcIndex : " + srcIndex);
//print elements of the source array
System.out.print("src : ");
for (int i = 0; i < src.length; i++)
System.out.print(src[i] + " ");
System.out.println("");
//print destination index
System.out.println("destIndex : " + destIndex);
//print elements of the destination array
System.out.print("dest : ");
for (int i = 0; i < dest.length; i++)
System.out.print(dest[i] + " ");
System.out.println("");
// Use of arraycopy() method
System.arraycopy(src, srcIndex, dest, destIndex, len);
// this method copies the 'len' no of elements
// from the src array to the dest array using the srcIndex
// and destIndex as reference points in both the arrays
// Print elements of destination after
System.out.print("final destination array : ");
for (int i = 0; i < dest.length; i++)
System.out.print(dest[i] + " ");
}
}
Output
len : 2
srcIndex : 2
src : Monday Tuesday Wednesday Thursday Friday Saturday Sunday
destIndex : 3
dest : January February March April May June July August
final destination array : January February March Wednesday Thursday June July August
Example of changing parameters
// Example of changing parameters
srcIndex = 4;
destIndex = 5;
len = 1;
Output
len : 1
srcIndex : 4
src : Monday Tuesday Wednesday Thursday Friday Saturday Sunday
destIndex : 5
dest : January February March April May June July August
final destination array : January February March April May Friday July August