Wenn ich den Wert "foo"
und eine HashMap<String> ftw
habe, für die ftw.containsValue("foo")
true
zurückgibt, wie kann ich den entsprechenden Schlüssel erhalten? Muss ich eine Schleife durch die Hashmap ziehen? Wie kann ich das am besten tun?
Es gibt keine eindeutige Antwort, da mehrere Schlüssel auf denselben Wert abgebildet werden können. Wenn Sie die Eindeutigkeit mit Ihrem eigenen Code erzwingen wollen, ist die beste Lösung, eine Klasse zu erstellen, die zwei Hashmaps verwendet, um die Zuordnungen in beide Richtungen zu verfolgen.
Um alle Schlüssel zu finden, die diesem Wert entsprechen, werden alle Paare in der Hashmap mit "map.entrySet()" durchlaufen.
Es klingt wie der beste Weg ist für Sie zu iterieren über Einträge mit map.entrySet()
seit map.containsValue()
wahrscheinlich tut dies sowieso.