Ho bisogno di fare una copia di HashMap<Integer, List<MySpecialClass> >
ma quando cambio qualcosa nella copia voglio che l'originale rimanga lo stesso. quando rimuovo qualcosa dallo List<MySpecialClass>
dalla copia rimane nello List<MySpecialClass>
nell'originale.Come copiare HashMap (copia non superficiale) in Java
Se ho ben capito, questi due metodi creano solo copia superficiale, che non è quello che voglio:
mapCopy = new HashMap<>(originalMap);
mapCopy = (HashMap) originalMap.clone();
ho ragione?
Esiste un modo migliore per farlo rispetto alla semplice iterazione di tutti i tasti e di tutti gli elementi dell'elenco e della copia manuale?
Nella dichiarazione del ciclo for, non è possibile trovare original.entrySet() anziché copy.entrySet()? – Mathis
@ user3394494 Sì, hai ragione. Immagino sia quello che succede quando digito il codice velocemente. Modificata. – rgettman