Java Hashmap: Hoe krijg ik sleutel van waarde?

Als ik de waarde "foo" heb, en een HashMap<String> ftw waarvoor ftw.containsValue("foo") returnttrue`, hoe kan ik dan de corresponderende sleutel krijgen? Moet ik door de hashmap heen lopen? Wat is de beste manier om dat te doen?

Er is geen eenduidig antwoord, omdat meerdere sleutels naar dezelfde waarde kunnen verwijzen. Als je unique-ness afdwingt met je eigen code, is de beste oplossing om een klasse te maken die twee Hashmaps gebruikt om de mappings in beide richtingen te volgen.

Commentaren (0)

Om alle sleutels te vinden die overeenkomen met die waarde, iterate je door alle paren in de hashmap, met map.entrySet().

Commentaren (1)

Het klinkt alsof de beste manier voor u is om te itereren over entries met behulp van map.entrySet() aangezien map.containsValue() dit waarschijnlijk toch al doet.

Commentaren (2)