ホームページ >Java >&#&チュートリアル >Java で 2D 配列を効果的にコピーする方法: Clone と System.arraycopy()

Java で 2D 配列を効果的にコピーする方法: Clone と System.arraycopy()

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 07:29:02811ブラウズ

How to Effectively Copy 2D Arrays in Java: Clone vs. System.arraycopy()

Java での 2D 配列のコピー

2D 配列を操作する場合、多くの場合、編集目的または元のデータを保存するためにコピーを作成する必要があります。 Java では、これを実現するためのアプローチがいくつかあります。

オプション 1: Clone を使用する

clone() メソッドは、ファイルの浅いコピーを簡単に作成する方法を提供します。 2D 配列。配列要素への参照のみがコピーされます。このメソッドを使用するには:

<code class="java">int[][] myInt = new int[matrix.length][];
for (int i = 0; i < matrix.length; i++)
  myInt[i] = matrix[i].clone();</code>

オプション 2: System.arraycopy() を使用する

より制御された効率的なコピーを行うには、System.arraycopy() を使用します。使用済み。これにより、2D 配列の特定の部分をコピーできます。

<code class="java">int[][] myInt = new int[matrix.length][];
for (int i = 0; i < matrix.length; i++) {
  int[] aMatrix = matrix[i];
  int aLength = aMatrix.length;
  myInt[i] = new int[aLength];
  System.arraycopy(aMatrix, 0, myInt[i], 0, aLength);
}</code>

メソッドの比較

clone() と System.arraycopy() は両方とも、信頼性の高いオプションを提供します。 2D配列をコピーしています。ただし、System.arraycopy() はネイティブ コードで実装されているため、柔軟性が高く、clone() よりも高速に実行される可能性があります。また、clone() を使用して浅いコピーを作成するときに発生する可能性のあるデータ破損の可能性も回避できます。

これらの方法を理解することで、Java コード内で 2D 配列を効果的にコピーして操作できるようになり、データの整合性を確保し、共通のコピーを回避できます。落とし穴。

以上がJava で 2D 配列を効果的にコピーする方法: Clone と System.arraycopy()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。