Java에서 2D 배열 심층 복사
Java에서 clone() 메서드를 사용하여 2D 배열을 복제해도 전체 복사가 생성되지 않습니다. 결과적으로 복제된 어레이에 대한 변경 사항이 원래 어레이에 의도치 않게 영향을 미칠 수 있습니다. 이 문서에서는 2D 부울 배열의 전체 복사를 수행하는 방법을 살펴봅니다.
배열 반복
한 가지 접근 방식은 배열을 수동으로 반복하고 새 배열을 만드는 것입니다. 값을 복사하여 배열합니다. 각 내부 배열에 대해 System.arraycopy()를 사용하여 전체 복사를 보장할 수 있습니다.
Java 6 Arrays.copyOf() 사용
Java를 사용하는 경우 6 이상에서는 Arrays.copyOf() 메서드 활용을 고려하세요. 이 방법을 사용하면 부울 배열을 포함한 기본 유형 배열의 전체 복사본을 만들 수 있습니다.
public static boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } final boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = Arrays.copyOf(original[i], original[i].length); } return result; }
이 코드는 원본 배열을 반복하여 각 내부 배열에 대해 새 배열을 만들고 Arrays.copyOf를 사용합니다. () 값을 복사합니다. 이렇게 하면 새 어레이를 수정해도 원본 어레이에 영향을 주지 않는 전체 복사본이 생성됩니다.
위 내용은 Java에서 2D 부울 배열을 딥 카피하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!