用于搜索字符串三元组的最有效的Java数据结构

And*_*rew 1 java search

假设我有一个大型列表(大约10,000个条目)的字符串三元组:

car    noun    yes
dog    noun    no
effect noun    yes
effect verb    no
Run Code Online (Sandbox Code Playgroud)

假设我出现了一个双字符串 - 例如,(效果,动词) - 我需要快速查看列表以查看该对是否出现,如果出现,则其值是"是"还是"否".(对于此示例,双重确实出现,值为"no".)

Java中存储列表的最佳数据结构是什么,以及执行搜索的最有效方法是什么?我正在运行成千上万的搜索,因此速度至关重要.

谢谢!

Zac*_*ese 5

您可以考虑使用HashMap<YourDouble, String>.搜索将是O(1).

您可以创建一个对象,YourDouble保存前两个值,或者将一个附加到另一个 - 如果值仍然是唯一的 - 并使用HashMap<String, String>.