"Java Hashmap": Kaip gauti raktą iš vertės?

Jei turiu reikšmę "foo" ir HashMap<String> ftw, kurios ftw.containsValue("foo") grąžina true, kaip galiu gauti atitinkamą raktą? Ar turiu cikliškai pereiti per hashmap'ą? Koks geriausias būdas tai padaryti?

Vienareikšmio atsakymo nėra, nes keli raktai gali atitikti tą pačią reikšmę. Jei unikalumą užtikrinate savo kodu, geriausias sprendimas - sukurti klasę, kuri naudotų du "Hashmaps", kad būtų galima stebėti atvaizdavimus abiem kryptimis.

Komentarai (0)

Norėdami rasti visus raktus, kurie atitinka šią reikšmę, pereikite per visas hashmap'o poras, naudodami map.entrySet().

Komentarai (1)

Atrodo, kad geriausias būdas yra iteruoti įrašus naudojant map.entrySet(), nes map.containsValue() tikriausiai tai daro bet kuriuo atveju.

Komentarai (2)