728x90
배열 복사(Array Copy)
배열은 한 번 생성하면 길이를 변경할 수 없다. 더 많은 저장 공간이 필요하면 더 큰 길이의 배열을 새로 생성하고 이전 배열에서 항목을 복사해야하 한다.
for 문을 활용한 복사 방법 예제 코드
더보기
public static void main(String[] args) {
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.print(newIntArray[i] + ", ");
}
}
for문은 가장 기본적인 배열 복사 방법으로 항목을 하나씩 읽어 새로운 배열에 저장한다.
newIntArray 변수가 참조하는 배열의 항목 초기값은 0이므로 복사되지 않은 3번 인덱스와 4번 인덱스는 0이다.
System.arraycopy()
System.arraycopy(원본 배열, 원본 배열 복사 시작 인덱스, 새 배열, 새 배열 붙여넣기 시작 인덱스, 복사 항목 수);
System.arraycopy(arr1, 0, arr2, 0, arr1.length)
원본 배열이 arr1이고 새 배열이 arr2이며, arr1의 모든 항목을 arr2에 복사
예제 코드
더보기
public static void main(String[] args) {
// 길이 3인 배열
String[] oldArray = {"java", "array", "copy"};
// 길이 5인 배열을 새로 생성
String[] newArray = new String[5];
// 배열 항목 복사
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
for (int i = 0; i < newArray.length; i++) {
System.out.println("newArray = " + newArray[i]);
}
}
newArray 변수가 참조하는 배열의 항목 초기값은 null이므로 복사되지 않은 3번과 4번 인덱스의 항목은 null을 유지한다.
728x90
'IT > Java' 카테고리의 다른 글
[Java] 객체 지향 프로그래밍 (0) | 2024.02.29 |
---|---|
[Java] 열거(Enum) 타입 (0) | 2024.02.27 |
[Java] 배열의 객체 참조 (0) | 2024.02.27 |
[Java] 다차원 배열 (0) | 2024.02.27 |
[Java] 배열(Array) (0) | 2024.02.27 |