>  기사  >  Java  >  수정 사항을 보존하기 위해 Java에서 2D 배열을 올바르게 복사하는 방법은 무엇입니까?

수정 사항을 보존하기 위해 Java에서 2D 배열을 올바르게 복사하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 22:49:03855검색

How to Properly Copy a 2D Array in Java to Preserve Modifications?

중복으로 2D 배열 수정 보존

Java에서는 객체 복사본을 생성할 때 참조 할당 동작을 이해하는 것이 중요합니다. 주어진 시나리오에서는 내용을 복사하는 메서드와 함께 current 및 old라는 두 개의 2D 배열이 정의됩니다.

old() 메서드는 현재 배열을 old에 할당합니다. 그러나 이는 단지 참조를 메모리의 동일한 배열로 전송하는 것뿐입니다. current가 업데이트되면 old도 이러한 변경 사항을 반영합니다. 둘 다 동일한 기본 배열을 가리키기 때문입니다.

keepold() 메서드는 이전 배열을 current에 할당하려고 시도합니다. 다시 말하지만, 이는 참조만 업데이트하고 원래 현재 배열은 영향을 받지 않은 채로 둡니다. 결과적으로 현재 버전을 업데이트해도 이전 버전의 내용은 변경되지 않습니다.

Java에서 2D 배열의 실제 복사본을 생성하려면 각 요소를 수동으로 복사해야 합니다. 또는 보다 효율적인 복사를 위해 Arrays.stream().map()...toArray() 메서드를 활용할 수 있습니다. 이 메서드는 스트림 API를 사용하여 각 행의 복제본을 생성하고 이를 새 배열로 어셈블합니다.

위 내용은 수정 사항을 보존하기 위해 Java에서 2D 배열을 올바르게 복사하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.