Heim > Java > javaLernprogramm > Wie kopiere ich ein boolesches 2D-Array tief in Java?

Wie kopiere ich ein boolesches 2D-Array tief in Java?

Patricia Arquette
Freigeben: 2024-12-26 13:38:10
Original
407 Leute haben es durchsucht

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

Tiefenkopieren von 2D-Arrays in Java

In Java wird durch das Klonen eines 2D-Arrays mit der Methode clone() keine tiefe Kopie erstellt. Daher können Änderungen an geklonten Arrays unbeabsichtigt Auswirkungen auf das ursprüngliche Array haben. In diesem Artikel werden Methoden zum Erstellen einer tiefen Kopie eines booleschen 2D-Arrays untersucht.

Iterieren über das Array

Ein Ansatz besteht darin, manuell über das Array zu iterieren und ein neues zu erstellen Array durch Kopieren der Werte. Für jedes innere Array können Sie System.arraycopy() verwenden, um eine tiefe Kopie sicherzustellen.

Verwenden von Java 6 Arrays.copyOf()

Wenn Sie Java verwenden 6 oder höher sollten Sie die Verwendung der Methode Arrays.copyOf() in Betracht ziehen. Diese Methode kann verwendet werden, um eine tiefe Kopie von Arrays primitiver Typen zu erstellen, einschließlich boolescher Arrays:

public static boolean[][] deepCopy(boolean[][] original) {
    if (original == null) {
        return null;
    }
    final 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

Dieser Code iteriert über das ursprüngliche Array, erstellt ein neues Array für jedes innere Array und verwendet Arrays.copyOf (), um die Werte zu kopieren. Dadurch wird die Erstellung einer tiefen Kopie sichergestellt, bei der Änderungen am neuen Array keine Auswirkungen auf das ursprüngliche Array haben.

Das obige ist der detaillierte Inhalt vonWie kopiere ich ein boolesches 2D-Array tief in Java?. 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