Arrays.copyOfRange

Arrays의 배열의 특정 범위를 잘라 새 배열로 반환하는 정적 메서드입니다.

시그니처

int[] Arrays.copyOfRange(int[] original, int from, int to)

동작 추적

int[] arr = {1, 2, 3, 4, 5};

Arrays.copyOfRange(arr, 1, 4);  // [2, 3, 4]
Arrays.copyOfRange(arr, 0, 3);  // [1, 2, 3]
Arrays.copyOfRange(arr, 2, 7);  // [3, 4, 5, 0, 0] (초과분은 0 채움)

String 배열도 동일

String[] strs = {"a", "b", "c", "d"};
Arrays.copyOfRange(strs, 1, 3);  // ["b", "c"]

시간복잡도

연산복잡도
복사O(n) — 범위 길이만큼

Arrays.copyOf와 비교

copyOfcopyOfRange
범위처음부터 지정 길이까지인덱스 범위 지정
시그니처copyOf(arr, newLength)copyOfRange(arr, from, to)
int[] arr = {1, 2, 3, 4, 5};

Arrays.copyOf(arr, 3);           // [1, 2, 3]
Arrays.copyOfRange(arr, 0, 3);   // [1, 2, 3] — 동일
Arrays.copyOfRange(arr, 2, 5);   // [3, 4, 5] — 중간부터 가능

→ Arrays

CSLOG에서 보기