Kopieren von 2D-Arrays in Java
Bei der Arbeit mit 2D-Arrays ist es oft notwendig, Kopien zu Bearbeitungszwecken oder zur Beibehaltung von Originaldaten zu erstellen. In Java gibt es mehrere Ansätze, um dies zu erreichen.
Option 1: Verwenden von Clone
Die clone()-Methode bietet eine schnelle Möglichkeit, eine flache Kopie von a zu erstellen 2D-Array, bei dem nur die Verweise auf die Array-Elemente kopiert werden. So verwenden Sie diese Methode:
<code class="java">int[][] myInt = new int[matrix.length][]; for (int i = 0; i < matrix.length; i++) myInt[i] = matrix[i].clone();</code>
Option 2: Verwenden von System.arraycopy()
Für eine kontrollierte und effizientere Kopie kann System.arraycopy() verwendet werden gebraucht. Es ermöglicht Ihnen, bestimmte Teile des 2D-Arrays zu kopieren:
<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>
Vergleich der Methoden
Sowohl clone() als auch System.arraycopy() bieten zuverlässige Optionen für Kopieren von 2D-Arrays. Allerdings bietet System.arraycopy() eine größere Flexibilität und ist wahrscheinlich schneller als clone(), da es in nativem Code implementiert ist. Außerdem wird die Möglichkeit einer Datenbeschädigung vermieden, die beim Erstellen flacher Kopien mit clone() auftreten kann.
Durch das Verständnis dieser Methoden können Sie 2D-Arrays in Ihrem Java-Code effektiv kopieren und manipulieren, um die Datenintegrität sicherzustellen und häufige Fehler zu vermeiden Fallstricke.
Das obige ist der detaillierte Inhalt vonSo kopieren Sie 2D-Arrays effektiv in Java: Clone vs. System.arraycopy(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!