Heim > Java > javaLernprogramm > Wie kann man ein 2D-Array in Java effizient und sicher kopieren?

Wie kann man ein 2D-Array in Java effizient und sicher kopieren?

DDD
Freigeben: 2024-11-01 12:42:02
Original
393 Leute haben es durchsucht

How to Efficiently and Safely Copy a 2D Array in Java?

So kopieren Sie ein 2D-Array in Java

Frage:

Sie haben ein 2D Array namens Matrix, das Sie zur Bearbeitung in eine lokale Variable in einer Methode kopieren möchten. Was ist der effizienteste und fehlersicherste Weg, eine vollständige Kopie zu erstellen?

Antwort:

Es gibt zwei empfohlene Möglichkeiten, ein 2D-Array in Java zu kopieren:

Verwendung von clone():

Die Methode clone() erstellt ein neues Array mit der gleichen Größe und dem gleichen Inhalt wie das Original. Für 2D-Arrays müssen Sie jede einzelne Zeile klonen:

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

Verwenden von System.arraycopy():

Die Methode System.arraycopy() kann ebenfalls verwendet werden Wird zum Kopieren eines 2D-Arrays verwendet. Es erfordert das Erstellen eines neuen Arrays und das manuelle Kopieren jedes Elements:

<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>
Nach dem Login kopieren

Vorteile:

Beide Methoden sind schneller und weniger fehleranfällig als das manuelle Kopieren des Arrays. System.arraycopy() ist besonders effizient, da es in nativem Code implementiert ist.

Hinweis:

In manchen Fällen benötigen Sie möglicherweise nur eine flache Kopie des Arrays , wobei die geänderten Elemente in der Kopie im ursprünglichen Array widergespiegelt werden. Für eine flache Kopie können Sie das Array einfach direkt zuweisen, z. B. int[][] myInt = Matrix;. Für Bearbeitungszwecke wird dies jedoch nicht empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann man ein 2D-Array in Java effizient und sicher kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage