Java 选择数据结构以更快地搜索值

Java 选择数据结构以更快地搜索值,java,data-structures,Java,Data Structures,我有一套价值观。如下所示,如果我选择“A”的值,那么它应该获取相应的别名。 在下面的示例中,“A”映射到相应的“UYT”值,因此“UYT”是需要获取的别名 以下是示例数据: RUB --> F,D,E,R,T,Y,Y WET --> E,R,G,T,R,E,Q UYT --> Y,A,F,G,R,,T,U 此外,搜索应遵循搜索顺序:首先针对别名“UYT”,然后是“WET”,依此类推 请告知哪种数据结构最适合维护上述数据,以便数据搜索速度更快 我正在考虑使用Hash

我有一套价值观。如下所示,如果我选择“A”的值,那么它应该获取相应的别名。 在下面的示例中,“A”映射到相应的“UYT”值,因此“UYT”是需要获取的别名

以下是示例数据:

RUB -->   F,D,E,R,T,Y,Y
WET -->   E,R,G,T,R,E,Q
UYT -->   Y,A,F,G,R,,T,U
此外,搜索应遵循搜索顺序:首先针对别名“UYT”,然后是“WET”,依此类推

请告知哪种数据结构最适合维护上述数据,以便数据搜索速度更快

我正在考虑使用HashMap,其中键是'RUB','WET','UYT',映射到它的对应值集是字符串值列表。然而,我不确定这是否能给我提供最快的搜索

因此,对于需要搜索的值,键

A将足够快,听起来就像您描述的那样。它将为每个键RUB、WET、UYT分配一个数值,该值在函数中用于每次请求检索键的值时从表中检索字符串的索引值


HashMap将比HashTable更快,因为HashMap是不同步的。

您是要搜索UYT并查找A,还是要搜索A并查找UYT?请定义您的用例。另外,向我们展示您尝试了什么,并解释为什么您认为hashmap不够快。我需要搜索A以查找UYT,换句话说,需要根据值搜索键在此键中,为什么不将A存储为键?您仍然需要字符串来列出字符串hashmap,但是工作流稍微简单一些。hashmap将比HashTable更好。链接: