Il n'existe pas de méthode directe pour extraire des informations dans cette direction, donc si tout ce que vous avez est la carte, vous devez parcourir l'ensemble comme le suggèrent d'autres.
Si la carte/le tableau/autre est assez grand pour que cette boucle poserait un problème de performances et que le besoin d'une recherche inversée est courant dans le projet, vous pourriez implémenter votre propre structure en utilisant une paire de cartes/tableaux/autres dont l'un est selon l'objet actuel et l'autre avec la clé et la valeur inversées. De cette façon, la recherche inversée est aussi efficace que la normale. Bien sûr, vous avez plus de travail à faire car vous devez implémenter chaque méthode nécessaire en tant que passage à travers l'un ou l'autre des objets sous-jacents, donc si la carte est petite et/ou la recherche inverse n'est pas souvent nécessaire, l'option du scan via boucle est probablement préférable en raison de sa simplicité de maintenance et de sa simplicité possible pour l'optimisation du compilateur JiT.
En tout cas, une chose à laquelle il faut faire attention est la possibilité que plusieurs clés puissent avoir la même valeur. Si c'est le cas, alors lors du parcours de votre carte, vous devez décider si vous acceptez de renvoyer arbitrairement l'une des clés possibles (probablement la première) ou si vous souhaitez renvoyer un tableau de clés, et si vous implémentez un index inverse pour des données pouvant avoir des valeurs dupliquées, le même problème doit également être pris en compte.