반응형
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 = {10, 20, 30, 40, 50};
int[] arr2 = {1, 2, 3, 4, 5};
System.arraycopy(arr1, 0, arr2, 1, 3); // arr1의 index 0에서부터 3개를, arr2의 index 1에서부터 copy
// System.arraycopy(arr1, 0, arr2, 1, 5); // 범위를 넘어서면 Error
for( int i = 0; i < arr2.length; i++ ) {
System.out.println(arr2[i]);
}
|
cs |
출력 결과:
1
10
20
30
5
System.arraycopy는 얕은 복사이다.
깊은 복사가 필요할 시, array index에 따라 일일이 바꿔줘야 한다.
반응형
'Java' 카테고리의 다른 글
[Java, 객체지향] 기본형 매개변수, 참조형 매개변수 설명 (0) | 2021.08.10 |
---|---|
[Visual Studio Code] Java Extension Pack 설치하기 (0) | 2021.08.07 |
[Java] ascii코드로 영어 알파벳 출력하기 (0) | 2021.08.06 |
[Java, 객체지향] return문 (0) | 2021.08.06 |
[Java, 객체지향] 메서드 vs 함수 (0) | 2021.08.06 |