Arrays.copyOf(원본배열, 복사할 길이)
기존 배열을 변경하지 않고 배열의 일부분을 복사하여 새 배열을 생성한다.
int[] arr = {1, 2, 3, 4, 5};
int[] copyArr = Arrays.copyOf(arr, 3); // 처음 3개 요소를 가진 새 배열 생성 -> {1,2,3}
System.arraycopy(원본배열, 원본 시작인덱스, 대상배열, 대상 시작인덱스, 복사할 길이)
기존 배열의 일부 또는 전체를 다른 배열로 복사한다.
int[] arr = {1, 2, 3, 4, 5};
int[] copyArr = new int[3];
System.arraycopy(arr, 0, cotyArr, 0, 3); // arr의 인덱스 0부터 3개 요소를 copyArr에 복사
배열.clone()
배열 객체의 clone() 메소드를 사용하여 배열을 복사한다.
int[] arr = {1, 2, 3, 4, 5};
int[] copyArr = arr.clone();
배열 순회 (for문 활용)
배열 요소를 직접 순회하며 배열을 복사한다.
int[] arr = {1, 2, 3, 4, 5};
int[] copyArr = new int[3];
for (int i=0; i<3; i++) {
copyArr[i] = arr[i];
}
Arrays.copyOf() 또는 System.arraycopy()를 사용하는 것이 성능과 효율성 측면에서 좋은 선택일 수 있다.
'알고리즘 & 코딩 테스트 > 자바 문법' 카테고리의 다른 글
| [Java] 배열에서 특정 요소 찾기 (0) | 2024.03.04 |
|---|---|
| [Java] 문자열을 문자 배열로 변환 : toCharArray() (1) | 2024.01.04 |
| [Java] 정수 ↔️ 문자열 타입 변환 (0) | 2024.01.04 |