Bidirectional map
In computer science, a bidirectional map is an associative data structure in which the pairs form a one-to-one correspondence. Thus the binary relation is functional in each direction: each can also be mapped to a unique. A pair thus provides a unique coupling between and so that can be found when is used as a key and can be found when is used as a key.
Mathematically, a bidirectional map can be defined a bijection between two different sets of keys and of equal cardinality, thus constituting an injective and surjective function: