goal
System.arraycopy를 이해하고 사용법을 안다.
* System.arraycopy()
사용방법
참고자료 : [Java] System.arraycopy 사용법, https://eunplay.tistory.com/118, 어제, 오늘 그리고 내일
- SystemArraycopy.java
import java.util.Arrays;
public class SystemArraycopy {
public static void main(String[] args) {
int[] arr = new int[] {10,20,30,40,50};
int[] sys = new int[arr.length];
System.arraycopy(arr, 0, sys, 0, arr.length);
System.out.println("* 변수가 가리키는 메모리 : " + arr + " " + sys);
System.out.println("\n");
System.out.println("1. deep_copy(sys)만 진행");
System.out.println("----------------------------------------");
System.out.println("arr의 요소 : " + Arrays.toString(arr));
System.out.println("deep_copy의 요소 : " + Arrays.toString(sys));
sys[0] = 100;
System.out.println("\n\n\n");
System.out.println("2. deep_copy(sys)가 진행된 배열의 값 변경 (arr의 값이 변경되도 아래 결과는 동일하다.)");
System.out.println("----------------------------------------");
System.out.println("arr의 요소 : " + Arrays.toString(arr));
System.out.println("deep_copy의 요소 : " + Arrays.toString(sys));
}
}
- SystemArraycopy.java [결과값]
추가설명
System.arraycopy()
를 굳이 복사의 종류로 나누었을 때, 깊은 복사(deep-copy)에 속한다.
'Java > java' 카테고리의 다른 글
java :) java에서 정규표현식 사용하기, Pattern 클래스 (0) | 2022.05.10 |
---|---|
java :) 문자열의 문자 변경, replace() & replaceAll() 메소드 설명 ( + 정규표현식 [외부자료]) (0) | 2022.05.09 |
java :) 얕은복사와 깊은복사, Arrays.copyOf()와 Arrays.copeOfRange() 사용방법 (0) | 2022.05.09 |
java :) Arrays.toString으로 배열 간편하게 출력하기 ( + 출력할 때 괄호 없애는 방법) (0) | 2022.05.09 |
java :) StringBuilder, StringBuffer의 개념과 사용의 이해 (0) | 2022.05.04 |