충분히 쌓여가는
5.9 배열 복사 - for, System.arraycopy() 본문
배열은 한 번 생성하면 길이를 변경할 수 없다
더 많은 저장 공간이 필요하면 더 큰 길이의 배열을 새로 만들고 이전 배열로부터 항목들을 복사해야 한다
가장 기본적인 방법으로 for 문을 이용
package ch05.sec09;
public class ArrayCopyByForExample {
public static void main(String[] args) {
//길이 3인 배열
int[] oldIntArray = {1, 2, 3};
//길이 5인 배열을 새로 생성
int[] newIntArray = new int[5];
//배열 항목 복사
for(int i=0; i<oldIntArray.length; i++) {
newIntArray[i] += oldIntArray[i];
}
//배열 항목 출력
for(int i=0; i<newIntArray.length; i++) {
System.out.println(newIntArray[i]);
}
}
}
1
2
3
0
0
System의 arraycopy() 메소드를 이용하면 한 줄만으로도 배열 복사를 할 수 있다
원본 배열: arr1
새 배열: arr2
arr1의 모든 항목을 arr2에 복사
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
package ch05.sec09;
public class ArrayCopyExample {
public static void main(String[] args) {
//길이 3인 배열
String[] oldStrArray = { "java", "array", "copy" };
//길이 5인 배열을 새로 생성
String[] newStrArray = new String[5];
//배열 항목 복사
System.arraycopy(oldStrArray, 0, newStrArray, 0, oldStrArray.length);
//배열 항목 출력
for(int i=0; i<newStrArray.length; i++) {
System.out.println(newStrArray[i]);
}
}
}
java
array
copy
null
null
'이것이 자바다 > 05 참조 타입' 카테고리의 다른 글
5.12 열거(Enum) 타입 (0) | 2024.04.01 |
---|---|
5.10 향상된 for 문 (0) | 2024.04.01 |
5.8 객체를 참조하는 배열 (0) | 2024.03.31 |
5.7 다차원 배열 (0) | 2024.03.31 |
5.6 배열(Array) 타입 - 배열 길이 length (0) | 2024.03.31 |