java - 快速搜索字典

标签 java algorithm data-structures

我需要在数据结构中存储几百个字符串。每个字符串都有两个与之关联的字段,例如单词含义及其来源。我可以以任何方式存储单词,比如排序、反向排序或任何你喜欢的方式。


我只需要尽快在字典中搜索一个字符串并获取两个相关字段。如果可能的话,我希望我的搜索比二进制搜索更好。


我正在使用 Java。我应该使用哪种数据结构集合类


注意:我不想在这里使用数据库。

最佳答案

您可以使用 HashMap<String,MyDataObject> - 这将是最快和最简单的使用方式。

平均寻道时间为 O(|S|) , 其中|S|是字符串的长度。

您也可以尝试使用 trieradix tree , 但请确保您要通过分析 HashMap 来为此付出时间解决方案,然后再开始处理。

关于java - 快速搜索字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12561061/

相关文章:

c++ - 使用 std::copy 将一个结构的数组转换为另一个结构的 Vector

c++ - 最快的预打包键值对搜索

java - 如何在速度模板中使用 split()?

java - 如何将数据库值放入数组列表中

java - 泛型和 API 设计

arrays - 范围小于 k 的子数组数

java - spring 引导 Controller 未注册;得到 404

algorithm - : T(n) = T(n - 1) + n如何解决

c++ - typedef map<std::string,std::pair<std::string,vector<int>>> MapPairList 类型数据成员类中的编译器错误;?

c - 求最小总和使得没有两个元素相邻