Java

[Java] System.arraycopy 사용법 (배열 복사)

15호의 개발자 2021. 8. 6. 20:39
반응형

System.arraycopy 사용법 (배열 복사)

 

 

System.arraycopy( Object src, int srcPos, Object dest, int destPos, int length )

 

  • Object src: Ctrl+C 할 곳 (복사하려는 원본)
  • int srcPos: Object src의 몇 번째 인덱스부터 복사할 것인지
  • Object dest: Ctrl+V 할 곳 (붙여넣기하려는 대상)
  • int destPos: Object dest의 몇 번째 인덱스부터 붙여넣기할 것인지
  • int length: Object src에서 몇 개를 복사할 것인지

 

 

 

1
2
3
4
5
6
7
8
9
int[] arr1 = {1020304050};
int[] arr2 = {12345};
 
System.arraycopy(arr1, 0, arr2, 13);    // arr1의 index 0에서부터 3개를, arr2의 index 1에서부터 copy
// System.arraycopy(arr1, 0, arr2, 1, 5);    // 범위를 넘어서면 Error
        
forint i = 0; i < arr2.length; i++ ) {
    System.out.println(arr2[i]);
}
cs

출력 결과:

1

10

20

30

5

 

 

 

 

System.arraycopy는 얕은 복사이다.

깊은 복사가 필요할 시, array index에 따라 일일이 바꿔줘야 한다.

 

 

반응형