Heim > Java > javaLernprogramm > Wie führe ich eine tiefe Kopie eines 2D-Booleschen Arrays in Java durch?

Wie führe ich eine tiefe Kopie eines 2D-Booleschen Arrays in Java durch?

Barbara Streisand
Freigeben: 2024-12-19 02:55:10
Original
979 Leute haben es durchsucht

How to Perform a Deep Copy of a 2D Boolean Array in Java?

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

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

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage