Tiefenkopieren eines 2D-Arrays in Java
Die Methode java.lang.clone() erstellt eine flache Kopie eines Arrays, d. h es dupliziert nur den Verweis auf das ursprüngliche Array. Das Ändern der Kopie wirkt sich weiterhin auf das ursprüngliche Array aus. Eine tiefe Kopie hingegen erstellt eine völlig separate Instanz des Arrays mit einem eigenen Satz von Elementen.
Durchführen einer tiefen Kopie
Um a Wenn Sie eine tiefe Kopie eines booleschen[][]-Arrays erstellen, können Sie über das Array iterieren und für jede Zeile ein neues Array erstellen:
boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = Arrays.copyOf(original[i], original[i].length); } return result; }
Für Java-Versionen davor Java 6, Sie können System.arraycopy wie unten gezeigt verwenden:
boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = new boolean[original[i].length]; System.arraycopy(original[i], 0, result[i], 0, original[i].length); } return result; }
Das obige ist der detaillierte Inhalt vonWie führe ich eine tiefe Kopie eines 2D-Booleschen Arrays in Java durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!