Kann ich in Java eine Key-Key-Map (im Gegensatz zu Schlüsselwerten) haben?

8

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?

    
user1081596 16.01.2012, 15:39
quelle

3 Antworten

9

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).

    
Jon Skeet 16.01.2012, 15:40
quelle
5

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.

    
Jesper 16.01.2012 15:41
quelle
0

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 .

    
j.snyder 16.01.2012 15:47
quelle

Tags und Links