얼렁뚱땅 우왕좌왕
[JAVA] 배열 복사하는 방법 본문
★Arrays.toString(배열) : 배열을 문자열로 출력할 수 있는 메소드
★Arrays.sort(배열) : 배열을 오름차순으로 정렬해주는 메소드
■ 배열의 옅은 복사
: 같은 주소값을 공유하기 때문에 복사 후 배열이나 원본 배열이 변경될때 두 배열의 값이 같이 변경된다.
int[] source = {1, 2, 3, 4, 5}
int[] target = source; >> source 의 주소값만 들어간다
■ 깊은 복사
: 별개의 주소값을 가지는 배열 공간을 우선 확보 후 값만 복사 ,
1. 반복문 사용
int[] source = {1, 2, 3, 4, 5};
int[] target = new int[source.length]; //원본과 같은 길이의 배열 생성
for(int i = 0; i <source.length; i++){
target[i] = source[i]; // 원본의 값만 타겟 배열에 복사
}
2. System.arrayCopy() 사용
int[] target2 = new int[source.length];
System.arraycopy(source, 0, target2, 1, 3);
//System.arraycopy(원본배열, 복사 시작위치, 타겟 배열, 복사 받을 위치, 길이);
3. clone() 사용
int[] target3 = source.clone();
'JAVA' 카테고리의 다른 글
[JAVA] String 함수 (0) | 2024.07.15 |
---|---|
[JAVA] 버블정렬과 선택정렬 (0) | 2024.07.15 |
[JAVA] method와 stack, heap 영역 (0) | 2024.07.15 |
[JAVA] 변수 타입 (0) | 2024.07.15 |
[JAVA] 변수 선언 방법 (0) | 2024.07.15 |