Java 我应该使用哪些键值数据结构?按值快速检索,按键快速检索
我有一组成对的数据:(键,值)它们的键是唯一的,值也是唯一的(不会有两个相等的值,也不会有两个相等的键)。像这样Java 我应该使用哪些键值数据结构?按值快速检索,按键快速检索,java,c++,data-structures,Java,C++,Data Structures,我有一组成对的数据:(键,值)它们的键是唯一的,值也是唯一的(不会有两个相等的值,也不会有两个相等的键)。像这样 dataStructure={ph',0},{f',1},{o',2},{th',3}… (索引是任意的,但必须是可访问的) 是否有任何数据结构(有效地)允许我在给定值的情况下检索项的键?这样地: dataStructure.getByValue(“ph”)->0和dataStructure.getByKey(0)->“ph” 我一直在阅读有关hashmaps的内容,但这不是我要寻找
dataStructure={ph',0},{f',1},{o',2},{th',3}…
(索引是任意的,但必须是可访问的)
是否有任何数据结构(有效地)允许我在给定值的情况下检索项的键?这样地:
dataStructure.getByValue(“ph”)->0和dataStructure.getByKey(0)->“ph”
我一直在阅读有关hashmaps的内容,但这不是我要寻找的结构:hashmaps用于非唯一值项,因此我无法检索给定值的键
我想用它作为编码器,“photho”将被编码到0230中,而这将再次被解码为“photho”
我想知道数据结构的名称。。。语言不重要…使用两种语言。将它们组合成一个类,这样您就可以在同一个对象上使用两个get
方法。使用两个。将它们组合成一个类,这样您就可以在同一个对象上拥有两个get
方法。应该适合您
BoST.bimap是C++的双向映射库。用Boost.Bimap
可以创建两种类型都可以使用的关联容器
作为关键。bimap可以被认为是
std::map和一个std::map
应该适合你
BoST.bimap是C++的双向映射库。用Boost.Bimap
可以创建两种类型都可以使用的关联容器
作为关键。bimap可以被认为是
std::map和一个std::map
这是一个很好的答案。。。但我选择了Johan的答案,因为他给了我数据结构的名称这是一个很好的答案。。。但我选择了Johan的答案,因为他给了我数据结构的名称