Was ist, wenn ich schnell nicht nur nach dem Schlüssel, sondern auch nach dem Wert suchen muss? Mit anderen Worten, gibt es eine Konstruktion wie Schlüssel-Schlüssel im Gegensatz zu Schlüssel-Wert?
Klingt so, als ob Sie ein bimap möchten - ich würde die Implementierungen in Guava verwenden, wenn ich es wäre Sie; Es gibt eine BiMap
Schnittstelle und verschiedene Implementierungen wie HashBiMap
und ImmutableBiMap
.
Beachten Sie, dass Sie normalerweise BiMap
von einer "Seite" (K1 bis K2) anzeigen und einfach inverse()
aufrufen, um die gegenteilige Ansicht der Dinge zu erhalten (K2 bis K1).
Mehrere Bibliotheken haben so etwas. Zum Beispiel hat Google Guava eine BiMap
(bidirektionale Karte). Leider gibt es in der Standard-Java-Bibliothek keine bidirektionale Karte.
Um zu verdeutlichen, hätten Sie eine Art Karte mit folgendem Schlüssel: Wertpaare:
%Vor%Dann solltest du map.get ("foo") machen und Freddy holen, oder mach map.get ("Freddy") und nimm foo?
Wenn ja, überprüfen Sie diesen Beitrag .