Deep Copy Collection in Java

Eine Kopie, die sich nicht auf die Kopierquelle auswirkt, selbst wenn Sie ein Array oder eine Sammlung in Java kopieren und Änderungen am Kopierziel vornehmen, wird als Deep Copy bezeichnet.

Wenn Sie es im Internet nachschlagen, können Sie "int" oder "String" als Typargumente verwenden.

ArrayList myList = new ArrayList<MyObject>( srcList );

Es heißt, dass Sie eine tiefe Kopie erstellen können, indem Sie so etwas tun. Wenn das Objekt jedoch in der Liste gespeichert ist, handelt es sich nicht um eine tiefe Kopie! !!

Daher reicht es nicht aus, die Sammlung einfach als Argument und "neu" zu betrachten.

Zum tiefen Kopieren einer Sammlung von Objekten usw.

ArrayList<MyObject> myList = new ArrayList<MyObject>(srcList.size());
for (MyObject o : srcList) {
 //Implementieren Sie eine der folgenden Möglichkeiten
 o.add(new MyObject(new o)); //Konstruktor kopieren
 o.add(o.clone()); //Implementierung der klonbaren Schnittstelle
}

Es scheint, dass Sie einen Kopierkonstruktor in dem Objekt vorbereiten müssen, das in die Sammlung aufgenommen werden soll, oder die "Klon" -Methode erben müssen. (Sie können beide Methoden verwenden)

Informationen zum Implementieren der klonbaren Schnittstelle: http://qiita.com/SUZUKI_Masaya/items/8da8c0038797f143f5d3

Deep Copy Object Collection Frage: http://stackoverflow.com/questions/715650/how-to-clone-arraylist-and-also-clone-its-contents

Recommended Posts

Deep Copy Collection in Java
[Persönliches Memo] Erstellen Sie eine einfache, tiefe Kopie mit Java
Java9-Sammlung
Informationen zur Dateikopierverarbeitung in Java
Lernen Sie Deep Learning von Grund auf in Java.
Partisierung in Java
Erste Schritte für tiefes Lernen in Java
Änderungen in Java 11
Java Reintroduction-Java Collection
Umfangsrate in Java
FizzBuzz in Java
[Java] Sammlungsframework
Tauchen Sie ein in die Funktionsweise von HashMap in Java
[Deep Learning von Grund auf neu] in Java 3. Neuronales Netzwerk
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
Fragen zum Java-Sammlungsinterview
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
Aufrufbare Schnittstelle in Java
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Erste Schritte mit Java Collection
Versuchen Sie es mit RocksDB mit Java
Kopieren Sie abhängige Gläser in Gradle 5
Lesen Sie Binärdateien in Java 1
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
Holen Sie sich EXIF-Informationen in Java
[Neta] Sleep Sort in Java
Bearbeiten von ini in Java: ini4j
Java-Geschichte in dieser Welt
Segfo Java in 6 Zeilen
Java Parallel Code Sample Collection