Java Hashmap: ¿Cómo obtener la clave del valor?

Si tengo el valor "foo"y unHashMap ftwpara el queftw.containsValue("foo")devuelvetrue`, ¿cómo puedo obtener la clave correspondiente? ¿Tengo que recorrer el hashmap? ¿Cuál es la mejor manera de hacerlo?

No hay una respuesta inequívoca, porque varias claves pueden asignarse al mismo valor. Si se trata de imponer la unicidad con su propio código, la mejor solución es crear una clase que utilice dos Hashmaps para rastrear los mapeos en ambas direcciones.

Comentarios (0)

Para encontrar todas las claves que se asignan a ese valor, iterar a través de todos los pares en el hashmap, utilizando map.entrySet().

Comentarios (1)

Parece que la mejor manera es que iteres sobre las entradas usando map.entrySet() ya que map.containsValue() probablemente lo haga de todas formas.

Comentarios (2)