Java Hashmap: Hvordan får man nøglen fra værdien?

Hvis jeg har værdien "foo" og et HashMap<String> ftw, for hvilket ftw.containsValue("foo") returnerer true, hvordan kan jeg så få den tilsvarende nøgle? Skal jeg løbe gennem hashmap'en? Hvad er den bedste måde at gøre det på?

Der er ikke noget entydigt svar, fordi flere nøgler kan henvise til den samme værdi. Hvis du håndhæver entydighed med din egen kode, er den bedste løsning at oprette en klasse, der bruger to Hashmaps til at spore tilknytningerne i begge retninger.

Kommentarer (0)

Hvis du vil finde alle nøgler, der svarer til denne værdi, skal du gennemløbe alle parrene i hashmap'en ved hjælp af map.entrySet().

Kommentarer (1)

Det lyder som om, at den bedste måde er at iterere over posterne ved hjælp af map.entrySet() da map.containsValue() sandsynligvis gør dette alligevel.

Kommentarer (2)