JAVA/포스팅

자바 배열의 복사

짜집퍼박사(짜박) 2023. 11. 2. 11:53

자바에서 배열을 복사하는 것은 기존 배열의 내용을 다른 배열로 복사하는 과정을 의미합니다. 배열을 복사하면 원본 배열과는 별개로 새로운 배열을 만들고, 새로운 배열에 원본 배열의 내용을 복제할 수 있습니다. 배열을 복사하는 방법에는 여러 가지가 있습니다.

 

1. System.arraycopy 메서드를 사용한 배열 복사

System.arraycopy 메서드를 사용하면 배열의 일부 또는 전체 내용을 다른 배열로 복사할 수 있습니다. 이 메서드는 소스 배열, 소스 배열의 시작 인덱스, 대상 배열, 대상 배열의 시작 인덱스, 복사할 요소의 개수를 인수로 받습니다.

int[] source = {1, 2, 3, 4, 5};
int[] target = new int[5];
System.arraycopy(source, 0, target, 0, source.length);

 

2. 배열 복사 메서드를 사용한 배열 복사

자바에서는 Arrays 클래스에서 배열 복사를 위한 몇 가지 메서드를 제공합니다. 그 중에서 copyOf 메서드는 특히 유용하며, 복사할 요소의 개수를 지정할 수 있습니다.

int[] source = {1, 2, 3, 4, 5};
int[] target = Arrays.copyOf(source, source.length);

 

3. 반복문을 사용한 배열 복사

반복문 (예: for 루프)을 활용하여 배열 요소를 하나씩 복사하는 방법도 있습니다. 이 방법은 배열 복사의 세부적인 제어를 원할 때 유용합니다.

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];
}

 

4. clone 메서드를 사용한 배열 복사

모든 배열은 clone 메서드를 사용하여 복사할 수 있습니다. clone 메서드는 배열을 복제하여 반환합니다.

int[] source = {1, 2, 3, 4, 5};
int[] target = source.clone();

 

이러한 방법 중 어느 것을 선택할지는 상황과 요구 사항에 따라 다를 수 있습니다. System.arraycopy 메서드는 빠르고 효율적이지만, 배열 길이를 변경할 수 없으며, 배열 요소의 일부를 복사하기에 적합합니다. Arrays.copyOf 메서드는 배열의 길이를 변경할 수 있지만, 복사할 요소의 개수를 지정해야 합니다. 반복문을 사용한 배열 복사는 제어를 더욱 세밀하게 할 수 있으며, clone 메서드는 배열 전체를 복사하는 간단한 방법을 제공합니다. 선택한 방법은 상황과 요구 사항에 맞게 결정해야 합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 배열 컬렉션 데이터 저장  (0) 2023.11.02
자바 배열의 활용  (0) 2023.11.02
자바 배열의 초기화  (0) 2023.11.02
자바 배열의 길이와 인덱스  (0) 2023.11.02
자바 배열의 선언과 생성  (0) 2023.11.02