System.arraycopy는 자바 배열의 값을 복사할 경우 사용한다.

 형식: arraycopy(Object src, int srcPos, object dest, int destPos, length)

 

 **파라미터

src - 전송원배열

srcPos - 소스 배열의 개시 위치

dest - 전송처 배열

destPos - 전송처 데이터내의 게시 위치 

length - 카피되는 배열 요소의 수

 

 array2, 3의 알파벳을 array1의 숫자로 복사하는 예제 코드다.

 

public static void main(String[] args) {

 

char array1[] = {'1', '2', '3', '4','5'};

char array2[] = {'A', 'B', 'C', 'D','E'};

char array3[] = {'A', 'B', 'C', 'D','E'};

 

System.out.print("Array1 배열 값: ");

for(int i=0; i<array1.length;i++){

System.out.print(array1[i] + " ");

}

System.out.println("\n");

 

System.out.print("Array2 배열 값: ");

for(int i=0; i<array2.length;i++){

System.out.print(array2[i] + " ");

}

System.out.println("\n");

 

System.arraycopy (array1, 0, array2, 0, array1.length);

  // array1 0번 값을 array20번째로 1의 길이만큼 복사

 

System.out.print("모든 Array2를 숫자로 변경"+ "\n"+"Array1 배열 값: ");

for(int i=0; i<array1.length;i++){

System.out.print(array1[i] + " ");

}

System.out.println("\n");

 

System.out.print("Array2 배열 값: ");

for(int i=0; i<array2.length;i++){

System.out.print(array2[i] + " ");

}

System.out.println("\n");

 

System.arraycopy (array1, 0, array3, 2, 2);

// array1 0번 값을 array3 2번 값부터 2개 길이만큼 복사

 

System.out.print("Array3 3,4번째만 숫자로 변경"+ "\n"+"Array1 배열 값: ");

for(int i=0; i<array1.length;i++){

System.out.print(array1[i] + " ");

}

System.out.println("\n");

 

System.out.print("Array3 배열 값: ");

for(int i=0; i<array3.length;i++){

System.out.print(array3[i] + " ");

}

System.out.println("\n");

}

}

 


결과

 

Array1 배열 값: 1 2 3 4 5

Array2 배열 값: A B C D E

 

모든 Array2를 숫자로 변경

Array1 배열 값: 1 2 3 4 5

Array2 배열 값: 1 2 3 4 5

 

Array3 3,4번째만 숫자로 변경

Array1 배열 값: 1 2 3 4 5

Array3 배열 값: A B 1 2 E

 


+ Recent posts