假设我有一个很大的字符串三元组列表(大约 10,000 个条目):
car noun yes
dog noun no
effect noun yes
effect verb no
假设我看到一个字符串 double - 例如,(effect, verb) - 我需要快速查看列表以查看该对是否出现,如果出现,它的值是 yes 还是 no。 (对于此示例,double 确实出现并且值为“no”。)
Java 中存储列表的最佳数据结构和执行搜索的最有效方法是什么?我正在运行成千上万的此类搜索,因此速度至关重要。
谢谢!
最佳答案
您可以考虑使用 HashMap<YourDouble, String>
.搜索将是 O(1)。
您可以创建一个对象 YourDouble 来保存前两个值,或者将一个附加到另一个 - 如果值仍然是唯一的 - 并使用 HashMap<String, String>
.
关于java - 用于搜索字符串三元组的最有效的 Java 数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954106/