有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java算法:检查字典中是否有字符串

我有一本语言词典(如英语、意大利语等),这实际上是一个每行有一个单词的文件

现在我想用一个方法创建一个类,该方法在输入检查中给出一个字符串,如果该字符串存在于该字典中

我的想法是该方法返回一个布尔值。在伪代码中:

boolean checkWord(String s){
    if(StringIsInDictionary) return true;
    return false
}

实现该功能的最佳方式应该是什么

考虑文件包含65000个单词。


共 (1) 个答案

  1. # 1 楼答案

    您可能不希望将单词存储为每行一个单词。更好的方法可能是只从磁盘读取一次文件,将单词存储在HashSet(一个由HashMap支持的集合,搜索效率很高),然后使用set.contains("mystring")。然而,这需要整个地图都在内存中,但是当你需要检查多个单词时,它会非常有效

    然后,您甚至可以返回并以更高效的方式将集合序列化到磁盘,从而加快初始加载速度