💡 배열 복사하기 : Arrays.copyOf(), Arrays.copyOfRange()

박현아·2024년 10월 22일
0

기초

목록 보기
10/31

💡 배열 복사하기

1. Arrays.copyOf(original, newLength)

전체 배열을 복사하는 것과 복사본 길이를 지정해서 처음부터 지정된 길이만큼 복사하는 것도 가능하다.

- 전체 배열 복사

import java.util.Arrays;

public class ArrayCopyExample {
    public static void main(String[] args) {
        // 원본 배열 생성
        int[] originalArray = {1, 2, 3, 4, 5};

        // 배열 복사: 새로운 배열의 길이를 원본 배열의 길이로 지정
        int[] copiedArray = Arrays.copyOf(originalArray, originalArray.length);

        // 결과 출력
        System.out.println("원본 배열: " + Arrays.toString(originalArray));
        System.out.println("복사된 배열: " + Arrays.toString(copiedArray));
    }
}

결과

원본 배열: [1, 2, 3, 4, 5]
복사된 배열: [1, 2, 3, 4, 5]

- 부분 복사

import java.util.Arrays;

public class ArrayCopyExample {
    public static void main(String[] args) {
        // 원본 배열 생성
        int[] originalArray = {1, 2, 3, 4, 5};

        // 배열 복사: 새로운 배열의 길이를 3으로 지정
        int[] copiedArray = Arrays.copyOf(originalArray, 3);

        // 결과 출력
        System.out.println("원본 배열: " + Arrays.toString(originalArray));
        System.out.println("복사된 배열: " + Arrays.toString(copiedArray));
    }
}

결과

원본 배열: [1, 2, 3, 4, 5]
복사된 배열: [1, 2, 3]

2. Arrays.copyOfRange()

시작, 끝 인덱스를 지정해서 부분 복사가 가능하다.
주의할 점은 끝 인덱스로 지정한 인덱스는 포함이 안 된다!!

import java.util.Arrays;

public class StringArrayCopyRangeExample {
    public static void main(String[] args) {
        // 원본 문자열 배열 생성
        String[] originalArray = {"Apple", "Banana", "Cherry", "Date", "Elderberry"};

        // 배열의 일부를 복사: 인덱스 1부터 3까지 (Banana, Cherry, Date)
        String[] copiedArray = Arrays.copyOfRange(originalArray, 1, 4);

        // 결과 출력
        System.out.println("원본 배열: " + Arrays.toString(originalArray));
        System.out.println("복사된 배열: " + Arrays.toString(copiedArray));
    }
}

결과

원본 배열: [Apple, Banana, Cherry, Date, Elderberry]
복사된 배열: [Banana, Cherry, Date]

0개의 댓글