Java에서 배열 복사
-
Java에서
Arrays.copyOf()
를 사용하여 다른 배열에 복사 -
Java에서
System.arraycopy()
를 사용하여 다른 배열에 복사 -
Java에서
clone()
을 사용하여 2 차원 배열을 다른 배열로 복사
이 자습서에서는 Java의 다른 배열로 배열을 복사하는 몇 가지 방법을 소개합니다. 이를 달성하기 위해 루프와 함께 수동 접근 방식을 사용할 수 있지만 단순성을 위해 해당 방법을 사용하지 않고 바퀴를 재발 명하고 싶지 않습니다.
Java에서Arrays.copyOf()
를 사용하여 다른 배열에 복사
지정된 배열을 새 배열로 복사하는Arrays
클래스의copyOf()
메소드를 사용할 수 있습니다. copyOf()
는 두 개의 인수를받습니다. 첫 번째는 복사 할 배열이고 두 번째는 새 배열의 길이입니다.
아래 예제에서array1
을array2
로 복사합니다. 새 배열의 길이는array1
과 같습니다. 새 배열의 크기가 이전 배열보다 큰 경우 모든 빈 인덱스는 0으로 채워집니다. 루프를 사용하여 새 배열의 항목과 해당 인덱스를 인쇄했습니다.
import java.util.Arrays;
public class CopyArray {
public static void main(String[] args) {
int[] array1 = new int[] {2, 4, 6, 8, 10};
int[] array2 = Arrays.copyOf(array1, array1.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2 position " + i + ": " + array2[i]);
}
}
}
출력:
array2 position 0: 2
array2 position 1: 4
array2 position 2: 6
array2 position 3: 8
array2 position 4: 10
Java에서System.arraycopy()
를 사용하여 다른 배열에 복사
System.arraycopy()
는 이전 배열의 지정된 위치에서 새 배열의 위치로 배열 항목을 복사하기 때문에 이전 배열의 하위 항목으로 새 배열을 만들고 싶을 때 유용 할 수 있습니다.
System.arraycopy()
는 복사 할 배열array1
, 시작 위치array1
, 새 배열array2
, 시작 위치array2
, 항목 수의 4 개 이상의 인수를받습니다. array2
에 복사됩니다. 출력에는array2
의 항목이 표시됩니다.
public class CopyArray {
public static void main(String[] args) {
String[] array1 = new String[] {"Adam", "Claire", "Dave", "Greg", "Halsey", "Jane", "Kylie"};
String[] array2 = new String[array1.length];
System.arraycopy(array1, 0, array2, 0, array1.length);
for (int i = 0; i < array2.length; i++) {
System.out.println("array2 position " + i + ": " + array2[i]);
}
}
}
출력:
array2 position 0: Adam
array2 position 1: Claire
array2 position 2: Dave
array2 position 3: Greg
array2 position 4: Halsey
array2 position 5: Jane
array2 position 6: Kylie
Java에서clone()
을 사용하여 2 차원 배열을 다른 배열로 복사
Java에서 배열을 복사하는 마지막 방법은 복사 된 배열 항목과 함께 새 배열을 반환하는clone()
입니다. 이 예에서는 8 개의 요소가있는 2 차원 배열 array1
을 사용합니다. 배열을 복사하기 위해array1.clone()
을 사용하고 새로운 배열array2
요소를 인쇄하기 위해 두 개의 루프를 사용합니다.
public class CopyArray {
public static void main(String[] args) {
int[][] array1 = {{10, 20}, {30, 40}, {50, 60}, {70, 80}};
int[][] array2 = array1.clone();
for (int i = 0; i < array2.length; i++) {
for (int j = 0; j < array2[i].length; j++) {
System.out.println("array2 position [" + i + "][" + j + "] : " + array2[i][j]);
}
}
}
}
출력:
array2 position [0][0] : 10
array2 position [0][1] : 20
array2 position [1][0] : 30
array2 position [1][1] : 40
array2 position [2][0] : 50
array2 position [2][1] : 60
array2 position [3][0] : 70
array2 position [3][1] : 80
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn