映射和反向映射

时间:2010-08-20 13:26:18

标签: data-structures

是否有可以替换以下两个地图的数据结构:

Dictionary<TypeA, TypeB> map;

Dictionary<TypeB, TypeA> reverse_map;

这样我就可以从TypaA获得TypeB,从TypeB获得TypeA?我当前的解决方案需要将key-&gt;值添加到map 1,将value-&gt;键添加到map 2。

1 个答案:

答案 0 :(得分:1)

您需要的是“双向地图”,例如Google BiMap,它是Google Collections(java库)的一部分。

相关的SO帖子是here。这个帖子有一个由我发布的简单的TwoWayHashmap java实现。这使用两个地图来模拟双向地图。虽然代码是特定于java的,但我认为很容易将其概括为数据结构。