¿Qué sucede si necesito buscar rápidamente no solo por la clave sino también por el valor? En otras palabras, ¿hay una construcción como llave maestra en lugar de clave-valor?¿Puedo tener un mapa de clave (en lugar de clave-valor) en Java?
8
A
Respuesta
9
Parece que quieres un bimap - Utilizaría las implementaciones en Guava si fuera tú; hay una interfaz BiMap
y varias implementaciones, como HashBiMap
y ImmutableBiMap
.
Tenga en cuenta que generalmente ve un BiMap
desde un "lado" (K1 a K2), y simplemente llame al inverse()
para obtener la vista opuesta de las cosas (K2 a K1).
5
Varias bibliotecas tienen algo así. Por ejemplo, Google Guava tiene un BiMap
(mapa bidireccional). Lamentablemente, no hay un mapa bidireccional en la biblioteca estándar de Java.
0
Para aclarar, que tendría algún tipo de mapa con los siguientes pares clave: valor:
Map<String, String> map = new HashMap<String, String>();
map.put("foo", "Freddy");
map.put("bar", "Bobby");
Entonces, usted quiere hacer map.get ("foo") y obtener Freddy, o hacer map.get ("Freddy") y obtener foo?
Si es así, marque this post fuera.
Cuestiones relacionadas
- 1. clave Java - mapa de teclas
- 2. ¿Clave para dos cadenas en un mapa?
- 3. ¿Qué puedo usar en lugar de un Vector en Java?
- 4. ¿Cómo puedo ordenar las claves de un mapa en Java?
- 5. Java - ¿Puede un hashmap tener 4 parámetros genéricos en lugar de 2?
- 6. En Java, ¿qué precauciones se deben tomar al usar un conjunto como clave en un mapa?
- 7. Delphi: ¿cómo recorto un mapa de bits "en su lugar"?
- 8. Python: mapa en el lugar
- 9. copia superficial de un mapa en Java
- 10. ¿Cómo puedo tener un HashMap con claves únicas en java?
- 11. Mapa bidireccional de valores múltiples en Java
- 12. Mapa bidireccional en Java?
- 13. Mapa de Java, clave = clase, valor = instancia de esa clase
- 14. ¿Puedo definir un mapa cuya clave es una estructura?
- 15. ¿Hay un mapa con una longitud de clave variable en el mundo de Java?
- 16. En Java, ¿por qué tener un bloque de código sin palabras clave, solo llaves
- 17. tipo de clase como clave en el mapa de Scala
- 18. Eliminar una clave de un mapa C++
- 19. ¿Qué usa Java para determinar si una clave es un duplicado en un Mapa?
- 20. Implementación del mapa Java que devuelve un valor predeterminado en lugar de nulo
- 21. Lista vs Mapa en Java
- 22. Definir un mapa como constante en java
- 23. Encontrar la clave asociada con el valor máximo en un mapa de Java
- 24. Actualizar una entrada de mapa java
- 25. Usar el par como clave en un mapa (C++/STL)
- 26. Fragmentación automática de un mapa de Java en varios nodos
- 27. ¿Es posible tener un mapa de {tecla -> llamada de función} en Scala?
- 28. ¿Puedo tener $ _GET múltiples con la misma clave, diferentes valores?
- 29. Decodificación de un mapa Java/JSON en un objeto F #
- 30. ¿Puedo tener un ValueConverter en mi ViewModel?
Observe que 'BiMap' de Guava son básicamente dos' Map's juntos y se mantienen simétricos, por lo que puede hacerlo usted mismo si no desea agregar una biblioteca adicional. – Viruzzo