메서드를 통한 자바의 배열 복사
지정된 배열(및 절단 또는 패딩을 0으로 복사하여)에서 복사본이 지정된 길이를 갖는다.
Oracle Help Center 참고
Arrays.copyOf(type[] original, int newLength)
// original - 복사 대상(원 배열)
// newLength - 복사할 범위
//예
int[] array1 = {1,2,3,4};
int[] array2 = Arrays.copyOf(array1,array1.length);
//(출력)
for (int i = 0; i < array2.length; i++){
System.out.println(array2[i]);
}
}
Arrays.copyOfRange(type[] original, int from, int to)
// original - 복사할 대상(원 배열)
// from - 시작 범위
// to - 끝 범위
// 예
int[] array1 = {1, 2, 3, 4};
int[] array2 = Arrays.copyOfRange(array1, 1, 3);
//(출력)
for (int i = 0; i < array2.length; i++){
System.out.println(array2[i]);
} // 2,3
System.arraycopy(Object src, int srcPos, Object dest, int desPos, int length)
// src - 원본 배열
// srcPos - 원본의 시작 위치
// dest - 생성할 배열
// destPos - 생성할 배열의 시작위치
// length - 복사할 배열의 요소 수(=복사할 길이)
//(예)
int arr1[] = {0,1,2,3,4,5};
int arr2[] = {5,10,20,30,40,50};
System.arraycopy(arr1, 0, arr2, 0, 1);
for (int i=0; i<arr2.length; i++){
System.out.println(arr2[i]);
} // 0 10, 20, 30, 40, 50