Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该使用哪些键值数据结构?按值快速检索,按键快速检索_Java_C++_Data Structures - Fatal编程技术网

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的答案,因为他给了我数据结构的名称