morellik ha scritto:
Ok. Quindi se due HashMap non si usano (mi piacerebbe nella mia ignoranza, capire il perchè)
Perché è un "giro" scomodo, poco utile e fumoso.
morellik ha scritto:
quale potrebbe essere la soluzione ideale per la deduplicazione dei valori (a questo punto la curiosità di imparare qualcosa di nuovo è tanta)?
Allora. Partiamo da un aspetto. Se si vogliono deduplicare gli oggetti, ad esempio le stringhe per evitare di avere più oggetti String
distinti con lo stesso contenuto (cosa che avviene es. se leggi dati da file o da input utente, ecc...) si può fare. Basta creare un sistema di "pooling" delle stringhe, ad esempio con una piccola classettina che contiene una banale map.
Questo PUO' avere senso in contesti in cui si trattano grosse quantità di dati e si vuole sprecare meno memoria possibile.
Discorso diverso se dici che cambiando un valore vuoi che cambino le associazioni di PIU' chiavi a quello stesso valore. Con le stringhe non lo fai, String è immutabile. Devi proprio ri-settare tutte le associazioni di tutte le chiavi interessate.
Ma questa è una cosa MOLTO particolare e specifica .... davvero serve? Se sì, beh, si fa tecnicamente anche questo. Banalmente il valore non è direttamente una stringa ma un contenitore "mutabile" (banale classettina) che contiene la stringa.
Se più chiavi sono associate allo stesso contenitore, se cambi solo il contenuto stringa del contenitore .... ovviamente questa modifica la "vedi" attraverso tutte le chiavi correlate!
Ma ripeto, questa sarebbe una gestione molto particolare ... DOVE serve e a QUALE scopo?