개발언어/JAVA
[JAVA] 배열복사 방법 Arrays.copyOfRange/ 사용방법과 예제
코딩 시그널
2021. 1. 5. 01:01
반응형
오늘은 자바에서 배열 복사를 쉽게 할 수 있는 copyOfRange에 대해 정리해 보겠습니다.
copyOfRange
- 전달받은 배열의 지정된 범위에 해당하는 요소만을 새로운 배열로 복사하여 반환
구문
public static int [] copyOfRange (int [] original_array, int from_index, int to_index)
매개 변수
- original_array - 복사할 원본 배열 (arr)
- from_index - 원본 배열에서 복사할 범위의 시작 인덱스
- to_index - 원본 배열에서 복사할 범위의 끝 인덱스
반환 값
이 메서드는 원래 배열에서 지정된 범위를 포함하는 새 배열을 반환하며 필요한 길이를 얻기 위해 잘리거나 0으로 채워집니다.
예외
- ArrayIndexOutOfBoundsException : 초기 인덱스 즉 (from_index)가 원래 배열의 범위를 벗어난 경우 발생합니다.
- IllegalArgumentException : form_index > to_index 인 경우 throw 됩니다.
- NullPointerException : 원래 배열이 null 인 경우 throw 됩니다.
사용 방법
copyOfRange (boolean [] 원본, int from, int to)
copyOfRange (byte [] 원본, int from, int to)
copyOfRange (char [] 원본, int from, int to)
copyOfRange (double [] 원본, int from, int to)
copyOfRange (float [] 원본, int from, int to)
copyOfRange (int [] 원본, int from, int to)
copyOfRange (long [] 원본, int from, int to)
copyOfRange (short [] 원본, int from, int to)
copyOfRange (T [] 원본, int from, int to)
copyOfRange (U [] 원본, int from, int to, Class newType)
예제
int[] arrOrigin = { 0,1,2,3,4,5 };
int[] arrCopy = Arrays.copyOfRange(arrOrigin, 2, 5);
for (int i = 0; i < arrCopy.length; i++) {
System.out.print(arrCopy[i] + " ");
}
//결과 : 2 3 4
다음 링크는 copyOfRange 라이브러리를 이용안 알고리즘 풀이입니다.