120 votes

Carte bidirectionnelle en Java ?

J'ai un mappage simple d'entier à chaîne en Java, mais j'ai besoin de pouvoir facilement récupérer une chaîne à partir d'un entier, et aussi un entier à partir d'une chaîne. J'ai essayé Map, mais il ne peut récupérer qu'une chaîne de caractères à partir d'un entier, c'est à sens unique :

private static final Map<Integer, String> myMap = new HashMap<Integer, String>();
// This works one way:
String myString = myMap.get(myInteger);

// I would need something like:
Integer myInteger = myMap.getKey(myString);

Y a-t-il une bonne façon de procéder pour avoir les deux sens ?

Un autre problème est que je n'ai que quelques valeurs constantes qui ne changent pas ( 1->"low", 2->"mid", 3->"high" Il n'y a donc pas lieu de chercher une solution compliquée.

5voto

BOSS Points 956

Utilisez le site de Google BiMap

C'est plus pratique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X