有没有key和value互相之间一一映射的哈希表?
就是类似键键对,左右两侧均为唯一,所以即可以像哈希表一样,通过左边得到右边,也可以通过右边得到左边,存不存在这样的数据结构?
或者能不能发明一个这样的结构?如何保证效率呢?怎么实现好?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
就是类似键键对,左右两侧均为唯一,所以即可以像哈希表一样,通过左边得到右边,也可以通过右边得到左边,存不存在这样的数据结构?
或者能不能发明一个这样的结构?如何保证效率呢?怎么实现好?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
根据@Robert Lu 的评论,还真的找到了,名字叫 Bidirectional Map,翻译过来应该叫双向哈希表,或者双向表。
而且有多种实现,最早是Guava-Java的库:
JAVA:http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/collect/BiMap.html
PHP移植:http://stackoverflow.com/questions/15794858/php-bi-directional-map
在C#下自行实现过,内部用两个数组做记录,用索引位做对应。