Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Herchi en 6 Octubre 2019, 12:27 pm



Título: Java: al modificar un elemento de un hashmap me modifica todos :(
Publicado por: Herchi en 6 Octubre 2019, 12:27 pm
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 :(

Código:
		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 (https://i.imgur.com/CoFvZm9.gif)
(si quieres te lo puedes bajar y con el VLC le das play/pausa)

¿qué hago mal?