배열을 복사하는 메서드
자바에서 배열을 복사하는 메서드는 `System.arraycopy()` 와 함께 `Arrays.copy()` 두 가지가 있다. 둘다 배열의 요소를 다른 배열로 복사하는 기증을 제공하지만, 약간의 차이가 있다.
System.arraycopuy()
- System.arraycopy() 메서드는 'System' 클래스에 속한 정적 메서드로 배열의 요소를 다른 배열로 복사하는 기능을 제공한다.
- 사용법은 다음과 같다.
System.arraycopy(원본배열, 원본배열시작인덱스, 대상배열, 대상배열시작인덱스, 복사할길이);
- `원본배열` : 복사할 원본 배열
- `원본배열시작인덱스` : 복사를 시작할 원본 배열의 인덱스
- `대상배열` : 복사된 결과를 저장할 대상 배열
- `대상배열시작인덱스` : 복사를 시작할 대상 배열의 인덱스
- `복사할길이` : 복사할 요소의 개수
예를 들어, 다음은 'System.arraycopy()'를 사용하여 배열을 복사하는 예제코드 이다.
int[] sourceArray = {1, 2, 3, 4, 5};
int[] targetArray = new int[5];
System.arraycopy(sourceArray, 0, targetArray, 0, sourceArray.length);
- 위 예제에서 `sourceArray`의 모든 요소를 `targetArray`로 복사한다. `sourceArray.length`를 사용하여 복사할 요소의 개수를 지정한다.
Arrays.copyOf()
- `Arrays.copyOf()` 메서드는 `java.util.Arrays` 클래스에 속한 정적 메서드로, 배열의 요소를 다른 배열로 복사하는 기능을 제공한다.
- 사용법은 다음과 같다.
Arrays.copyOf(원본배열, 복사할길이);
- `원본 배열` : 복사할 원본 배열
- `복사할길이` : 복사할 요소의 개수
예를 들어, 다음은 `Arrays.copyOf()`를 사용하여 배열을 복사하는 예제코드이다.
int[] sourceArray = {1, 2, 3, 4, 5};
int[] targetArray = Arrays.copyOf(sourceArray, sourceArray.length);
- 위 예제에서 `sourceArray`의 모든 요소를 `targetArray`로 복사한다. `sourceArray.length`를 사용하여 복사할 요소의 개수를 지정한다.
두 메서드 모두 배열을 복사하는 기능을 제공하지만,
'System.arraycopy()'는 원본 배열과 대상 배열의 길이가 다를 경우 일부 요소만 복사할 수 있는 유연성을 제공한다.
'Arrays.copyOf()'는 원본 배열의 길이를 복사할 길이로 지정하여 동작한다.
'Java > JAVA 100 문제 풀이' 카테고리의 다른 글
자바 part.3 문제풀이 - 메서드, 정의, 메서드구현 (0) | 2023.06.26 |
---|---|
자바 part.2 문제풀이 - 1,2차원, 사용자입력 배열 예제 (0) | 2023.06.23 |
자바 part.2 문제풀이 - 다중배열 (0) | 2023.06.20 |
자바 part.2 문제풀이 - 배열 (0) | 2023.06.18 |
자바 part.2 문제풀이 - 반복문 (0) | 2023.06.17 |