Java での 2 次元配列のコピー
Java での多次元配列のコピーは、ある配列を別の配列に代入するだけで参照が作成されるため、難しい場合があります。本物のコピーではなく、元のデータに復元されます。本物の複製を作成するには、新しいメモリを割り当て、要素を個別にコピーする必要があります。
あなたの場合、現在の配列を古い配列にコピーしたり、その逆にコピーしたりするための 2 つのメソッド、old() と keepold() があります。その逆も。ただし、最新のデータを更新すると、両方とも同じ基になるデータを参照するため、変更は古いデータにも反映されます。
真のコピーを作成するには、次の手順を使用できます:
ストリーム API の使用 (Java) 8 )、このプロセスを簡略化できます。
<code class="java">int[][] copy = Arrays.stream(matrix).map(int[]::clone).toArray(int[][]::new);</code>
この行では、map() メソッドを使用して各行に新しい配列を作成し、次に clone() メソッドで各行をコピーし、最後に toArray() メソッドでクローンされた行から新しい 2 次元配列を作成します。
以上がJava で 2 次元配列のディープ コピーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。