Java: al modificar un elemento de un hashmap me modifica todos :(

Iniciado por Herchi, 6 Octubre 2019, 12:27 PM

0 Miembros y 1 Visitante están viendo este tema.

Herchi

buenas

tengo un hashmap<String, hashmap> mapReferencias y 'n' hashmaps cuantia el cual es de tipo <Sting, float>

la idea es que haya 'n' referencias y dentro de cada una 'm' cuantias en plan: INI, 3000; PEP, 4000; etc.

el caso es que lo intento recorrer y se ve en el gif que al principio dentro de mapReferencias no hay cuantias pero al modificar el primer elemento me cambia todos :(


List<Object[]> resultSet = query.getResultList();

//metemos los valores en el hashmap
for (Object o[] : resultSet) {
String referencia = (String) o[0];
String tipoAyuda = (String) o[1];
Double cuantia = (Double) o[2];
Float cuantiaF = new Float(cuantia);
HashMap<String, Float> cantidades = mapReferencias.get(referencia);
cantidades.put(tipoAyuda, cuantiaF);
mapReferencias.put(referencia, cantidades);
}


el gif del funcionamiento es: https://i.imgur.com/CoFvZm9.gif
(si quieres te lo puedes bajar y con el VLC le das play/pausa)

¿qué hago mal?