본문 바로가기

언어/Java

[ Java ] arraycopy()를 사용해서 배열 복사하기

반응형

System.arraycopy 함수는 Java에서 배열을 효율적으로 복사하는 방법 중 하나입니다. 이 함수는 소스 배열의 특정 부분을 대상 배열의 특정 부분으로 복사할 수 있게 해줍니다. 아래에 System.arraycopy 함수를 사용하여 배열을 복사하는 예제를 제공합니다.

1. System.arraycopy 함수의 시그니처

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
  • src: 원본 배열
  • srcPos: 원본 배열에서 복사를 시작할 인덱스
  • dest: 대상 배열
  • destPos: 대상 배열에 붙여넣기를 시작할 인덱스
  • length: 복사할 요소의 수

2. 예제

다음은 System.arraycopy 함수를 사용하여 배열을 복사하는 예제입니다:

public class ArrayCopyExample {
    public static void main(String[] args) {
        // 원본 배열 선언 및 초기화
        int[] sourceArray = {1, 2, 3, 4, 5};
        // 대상 배열 선언 및 초기화
        int[] destinationArray = new int[5];

        // 배열 복사
        System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);

        // 복사된 배열 출력
        System.out.println("Source Array: ");
        for (int element : sourceArray) {
            System.out.print(element + " ");
        }
        System.out.println();

        System.out.println("Destination Array: ");
        for (int element : destinationArray) {
            System.out.print(element + " ");
        }
        System.out.println();

        // 부분 배열 복사
        int[] partialArray = new int[3];
        System.arraycopy(sourceArray, 1, partialArray, 0, 3);

        // 부분 복사된 배열 출력
        System.out.println("Partial Array (copied from sourceArray[1] to partialArray[0]): ");
        for (int element : partialArray) {
            System.out.print(element + " ");
        }
        System.out.println();
    }
}

3. 설명

  1. 원본 배열 및 대상 배열 선언:
    • sourceArray{1, 2, 3, 4, 5}로 초기화됩니다.
    • destinationArray는 길이가 5인 새로운 배열로 선언됩니다.
  2. 전체 배열 복사:
    • System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length)sourceArray의 모든 요소를 destinationArray에 복사합니다.
  3. 배열 출력:
    • sourceArraydestinationArray의 요소를 출력하여 복사된 내용을 확인합니다.
  4. 부분 배열 복사:
    • partialArray는 길이가 3인 새로운 배열로 선언됩니다.
    • System.arraycopy(sourceArray, 1, partialArray, 0, 3)sourceArray의 두 번째 요소부터 세 개의 요소를 partialArray에 복사합니다.
  5. 부분 복사된 배열 출력:
    • partialArray의 요소를 출력하여 부분적으로 복사된 내용을 확인합니다.

이 예제를 통해 System.arraycopy 함수를 사용하여 전체 배열을 복사하는 방법과 배열의 일부분을 복사하는 방법을 이해할 수 있습니다.

반응형