Java Value in TreeMap suchen und Key ausgeben?

  • Ersteller Ersteller MATT2k
  • Erstellt am Erstellt am
M

MATT2k

Gast
Hi,

ich brächte mal nen Rat bzw etwas Hilfe.

Ich habe mir eine TreeMap erstellt und jeweils im Key und im Value einen String gespeichert.
Nun würde ich gerne einen bestimmten Value suchen und dann den dazugehörigen Key ausgeben.

Ist sowas möglich oder bin ich da total auf dem Holzweg?

Die TreeMap hat ja die ContainsValue Methode um einen Value zu suchen. Dieser gibt aber nur ein true oder false zurück. Bekommt man vielleicht irgendwie den Index des Wertes oder sowas?

Gruß,
Matthias
 
Mit entrySet() bekommst du eine Liste mit allen Einträgen, die du durchgehen kannst, hier würdes du sowohl den Key als auch den Value bekommen und könntest so nach deinem Value suchen und den entsprechenden Key ausgeben (siehe http://www.galileodesign.de/openbook/javainsel5/javainsel11_005.htm). Dabei musst du aber beachten, dass es natürlich verschiedene Keys mit dem gleichen Value geben kann. Außerdem ist dies sicherlich nicht sonderlich performant, da du dafür alle Einträge durchgehen musst, was ja mit einer TreeMap gerade verhindert werden soll. Kannst du deine Werte nicht einfach umdrehen, d.h. in deiner TreeMap den Value als Key und den Key als Value nehmen? Dann könntest du einfach mit get() den gesuchten String ermitteln (Vorraussetzung ist natürlich auch hier, dass bei den Strings, die du ursprünglich als Value nehmen wolltest, kein Wert doppelt vorkommt).
 
die Werte umzudrehen sollte kein Problem darstellen. Werde ich mal ausprobieren.

Werde es aber heute wohl auch nicht mehr schaffen und mich dann morgen melden, ob es was gebracht hat.

Falls sonst noch jemand ne Idee hat kann sie gerne äußern ;)

Bis dann
 
Zurück
Oben