Sag ich habe eine Guava Multimap. Ich habe einen Wert "Foo", der zu einem oder mehreren Schlüsseln gehören kann. Gibt es eine Möglichkeit, herauszufinden, welche Schlüssel einen Eintrag "Foo" enthalten?Gibt es eine Möglichkeit, alle Schlüssel von einem Wert in einer Multimap zu bekommen?
8
A
Antwort
13
Sie können die Multimap invertieren. Dazu können Sie die Methode Multimaps.invertFrom
verwenden.
Zum Beispiel, wenn Ihr Multimap ist ein Multimap<String, String>
Multimap<String, String> invertedMultimap = Multimaps.invertFrom(myMultimap, ArrayListMultimap.<String, String>create());
6
Wenn Sie eine ImmutableMultimap
haben, die eine gute Idee, wann immer dies möglich ist, können Sie .inverse().get(v)
auf es nennen.
Ich wusste, dass es einen einfachen Weg dafür geben musste! Vielen Dank! :) –
Wenn Sie eine 'ImmutableMultimap' haben, hat sie eine eingebaute' inverse() 'Methode. –