Cosa succede se ho bisogno di cercare rapidamente non solo dal tasto ma anche dal valore. In altre parole, c'è una costruzione come la chiave-chiave al contrario del valore-chiave?Posso avere una mappa chiave-chiave (al contrario del valore-chiave) in Java?
8
A
risposta
9
Suoni come si desidera un bimap - Io userei le implementazioni in Guava se fossi in voi; c'è un'interfaccia BiMap
e varie implementazioni come HashBiMap
e ImmutableBiMap
.
Si noti che in genere si visualizza uno BiMap
da un "lato" (da K1 a K2) e si chiama semplicemente inverse()
per ottenere la vista opposta delle cose (da K2 a K1).
5
Diverse biblioteche hanno qualcosa del genere. Ad esempio, Google Guava ha un BiMap
(mappa bidirezionale). Sfortunatamente non esiste una mappa bidirezionale nella libreria standard di Java.
0
Per chiarire, si dovrebbe avere una sorta di mappa con le seguenti coppie chiave: valore:
Map<String, String> map = new HashMap<String, String>();
map.put("foo", "Freddy");
map.put("bar", "Bobby");
Poi, si vorrebbe fare map.get ("foo") ed ottenere Freddy, o fare map.get ("Freddy") e prendi il foo?
In tal caso, selezionare this post.
Problemi correlati
- 1. Come attraversare la Mappa hash collegata al contrario?
- 2. codifica video al contrario?
- 3. C memcpy al contrario
- 4. os.walk() al contrario?
- 5. Il thread Java MessageFormat è sicuro? (al contrario di SimpleDateFormat)
- 6. Appiattimento del bean Java su una mappa
- 7. Come posso ordinare una mappa STL in base al valore?
- 8. Come posso avere una HashMap con chiavi univoche in java?
- 9. Come posso ordinare le chiavi di una mappa in Java?
- 10. Come dire apache a LocationMatch al contrario?
- 11. In Dart, è possibile avere una mappa const di chiusure?
- 12. Qual è il significato di "Boxing" in C# (al contrario di Java)?
- 13. Java RegEx: Basta avere una parte del gruppo matcher
- 14. copia dei riferimenti una mappa in Java
- 15. Pretty-print una mappa in Java
- 16. Chiave Java - mappa chiave
- 17. Ricerca accurata, al contrario di due secondi, in AVPlayer
- 18. Perché i bmps vengono memorizzati al contrario?
- 19. Flash - Riproduce il filmato al contrario?
- 20. Mappa bidirezionale in Java?
- 21. Posso avere esito negativo su una build in base al risultato di un'attività SSH?
- 22. File esterno per stringhe, al contrario di hardcoding
- 23. Posso applicare una transizione CSS solo al passaggio del mouse?
- 24. Converti, o unformat, una stringa in variabili (come format(), ma al contrario) in Python
- 25. Ricerca del valore minimo in una mappa
- 26. In .NET, come si crea una giunzione in NTFS, al contrario di un collegamento simbolico?
- 27. Come avviare il cronometro al contrario in Android?
- 28. Posso avere una funzione completamente polimorfica?
- 29. Posso avere strato-list all'interno del selettore
- 30. Come posso caricare bash (al contrario di sh) in org babel per abilitare # + BEGIN_SRC bash?
Si noti che 'BiMap' di Guava sono fondamentalmente due' Map's messi insieme e mantenuti simmetrici, quindi è possibile farlo da soli se non si desidera aggiungere una libreria aggiuntiva. – Viruzzo