Zum Inhalt springen

deep copy für Hashtable


mkScheller

Empfohlene Beiträge

Ich wüsste keine API-Lösung, da Du dafür ja sicherstellen müsstest, das Deine Keys und Values Clonable sind.

Du kannst Dir aber recht einfach eine Lösung bauen, indem Du Deine eigene Collection definierst, die intern mit einer Hashtable arbeitet, aber nur Cloneable Objekte übernimmt.

Dann kannst Du in der Methode clone() Deiner Collection über das keySet iterieren, zu jedem Key das Value ermitteln, beide Klonen und in die neue Hashtable schreiben.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

das hatte ich erst auch gedacht, aber die API sagt zu Hashtable#clone():

Creates a shallow copy of this hashtable. All the structure of the hashtable itself is copied, but the keys and values are not cloned. This is a relatively expensive operation.

Skandal! ;)

Quick and Dirty Workaround!

Alles Serialisierbar machen und durch nen Stream jagen.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Hi,

Eine Liste, die garantiert eine tiefe Kopie ALLER enthaltenen Objekte macht, egal was drin liegt? CoOL

Ich stell mir dann immer Listen vor, in denen Listen sind, die Listen mit Listen speichern MUAAHAA

Oder was ähnliches...

Übel wird diese Tiefenkopie allerdings, wenn in der Letzen Liste eine Referenz auf die Ursprüngliche Liste gespeichert ist. Dann läuft man ins Nirvana. Ein Teufelskreis ;)

Also sind diese generischen "All-in-Wonder" - Tiefenkopien eigentlich nicht so sinnvoll... finde ich jedenfalls...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...