Java에서 2차원 배열 복사
한 배열을 다른 배열에 할당하면 단순히 참조가 생성되므로 Java에서 다차원 배열을 복사하는 것은 까다로울 수 있습니다. 실제 복사본이 아닌 원본 데이터에. 실제 복제본을 만들려면 새 메모리를 할당하고 요소를 개별적으로 복사해야 합니다.
귀하의 경우에는 old()와 keepold()라는 두 가지 메서드가 있어 현재 배열을 이전 배열로 복사하고 그 반대의 경우도 마찬가지입니다. 그 반대. 그러나 현재를 업데이트하면 둘 다 동일한 기본 데이터를 참조하기 때문에 변경 사항이 이전에도 반영됩니다.
실제 복사본을 만들려면 다음 단계를 사용할 수 있습니다.
스트림 API(Java 8)를 사용하면 이 프로세스를 단순화할 수 있습니다.
<code class="java">int[][] copy = Arrays.stream(matrix).map(int[]::clone).toArray(int[][]::new);</code>
이 줄에서는 map()을 사용합니다. 각 행에 대해 새 배열을 생성하는 메소드, 각 행을 복사하는 clone() 메소드, 마지막으로 복제된 행에서 새로운 2차원 배열을 생성하는 toArray() 메소드를 사용합니다.
위 내용은 Java에서 2차원 배열의 전체 복사본을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!