Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Clonare una HashMap

    Vorrei sapere come creare due distinte e separate HashMap, partendo da una.

    Se uso il metodo clone ottengo solo una copia dei riferimenti della HashMap,
    io invece vorrei creare una copia effettiva della HashMap di partenza.

    Come posso fare??

    Grazie in anticipo.

  2. #2

    dimenticanza

    dimenticavo..... il linguaggio a cui mi riferisco è il java...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ho spostato la discussione nel forum dedicato a Java.
    In futuro, poni qui le tue domande relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    anche io ho questo problema però su un oggetto più complesso...

  5. #5
    sulle hashmap mi sembra esista un metodo putall x copiare una itera hashmap in un altra...
    osserva il gregge che pascola innanzi a te....

  6. #6
    Non vorrei dire una cavolata ma penso che dovresti fare l'override del metodo clone nelle classi che appartengono all'hashmap

  7. #7
    io ho una struttura più complessa
    ho un oggetto "contenitore" con un Vector a livello di classe che mi conterrà altri oggetto bean.
    dentro ho i vari metodi per la manipolazione del Vector... implemento lì'interfaccia cloneable e fatto l'override del metodo clone
    quando clono l'oggetto pare che il clone punto allo stesso indirizzo di memoria.
    infatti se modifico delle proprietà del bean nell'oggetto originale tali modifihce vengono riportate anche sul bean contenuto nell'ogggetto clone
    io vorrei avere due oggetti completamente distinti

  8. #8
    si, xkè la clone "normale" è shallow, cioè clona l'oggetto ma dei suoi "componenti" interni vengono copiati solo i reference. devi ridefinirti il metodo clone facendolo diventare una deep clone, cioè clonandoti manualmente uno per uno tutti i "sottocoponenti".

    è il classico problema che si incontra nel Prototype Design Pattern

    ciao
    osserva il gregge che pascola innanzi a te....

  9. #9
    io ho due classi
    la prima conteniutore ha un vector a livello di classe ed espone i metodi per maniporalo...
    ho anche implemtentato la cloneable e scritto il metodo clone che copia banalmente il vector (vector.clone)
    comq dicevi tu gli oggetti all'intenro di stò vector sono i medesimi... comq posso fare la ddep copy?
    thx

  10. #10
    premetto che non conosco se la classe Vector se sia Java o definita da te.. cmq
    da quanto ho capito dovresti clonare uno per uno tutti gli elementi contenuti nel vector:
    prima ti cloni il vector "primario" come hai fatto, poi ci inserisci (tipo con una add) la clone di ciascun elemento del vecchio vector (nuovoVector.add(vecchioVector.clone()).

    spero di esserti stato di qualche aiuto!
    osserva il gregge che pascola innanzi a te....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.