双向映射的最佳数据结构

我想要一个从键到对象映射的数据结构,反之亦然(不同于仅在单个方向上映射的HashMaps。)一个想法可能是将HashMap存储在自身内以进行反向查找,但这将是一种低效的方法。

什么是双向映射的最佳实现?

最简单的想法:包含2个映射的包装类,第二个包含交换的键/值。 你会保持O(1)的复杂性,并且只会使用稍多的内存,因为你(可能)会保留对象的reference