반응형
이전 포스팅에서 배열 자체를 깊은 복사와 얕은 복사로 나뉘어서 카피하는 포스팅을 작성한적이 있다.
배열 자체를 복사하는 포스팅은 자세한 내용은 참고 포스팅 참고 바란다.
이번 포스팅에서는 배열의 일부분만 복사를 해오는 함수를 소개한다.
1. System 클래스의 arraycopy
2. Array 클래스의 copyOfRange
하나씩 사용법을 살펴보면
arraycopy
int[] arrays = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] test = new int[5]; System.arraycopy(arrays, 2, test, 0, 3); System.out.println(Arrays.toString(test)); |
기본 문법은
System.arraycopy(A, B, C, D, E);
이다.
- A - 원본 배열
- B - 원본 배열 시작 위치
- C - 타겟 배열
- D - 타겟 배열 시작 위치
- E - 몇개 복사할지.
테스트에서는 arrays의 2번째부터 test의 0번째에 3개를 채운다.
라는 의미이고 결과는
[3,4,5,0,0] 이다.
(빈 배열은 0으로 채워짐.)
copyOfRange
int[] arrays = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] test2 = Arrays.copyOfRange(arrays, 0, 3); System.out.println(Arrays.toString(test2)); |
기본 문법은
Arrays.copyOfRange(A, B, C);
이다.
- A - 원본 배열
- B - 시작 위치
- C - 마지막 위치
테스트에서 arrays의 0부터 3번째를 복사한다는 의미이다.
arraycopy 보다 설명은 간단하고 필요에 맞게 사용하면 된다.
참고 포스팅
https://thenicesj.tistory.com/281
반응형
'IT > Java' 카테고리의 다른 글
@PathVariable 에 대해서(23.08.03) (4) | 2023.08.04 |
---|---|
Arrays 클래스 (81) | 2023.08.02 |
Spring DL 이란?(Dependency Lookup) (69) | 2023.07.30 |
Spring prototype Bean (53) | 2023.07.29 |
Spring 에서 Singleton (51) | 2023.07.28 |
댓글