"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 수정 사항을 보존하기 위해 Java에서 2D 배열을 올바르게 복사하는 방법은 무엇입니까?

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

2024-11-08에 게시됨
검색:512

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

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3