Java 如何处理字典文件进行拼写检查?

Java 如何处理字典文件进行拼写检查?,java,parsing,dictionary,hash,Java,Parsing,Dictionary,Hash,现在,我的java项目中有一个dictionary.txt文件。我是否需要将所有这些单词存储到哈希表或其他什么东西中?如何使用dictionary.txt内容作为参考来检查示例文本的拼写是否正确?在您的情况下,我建议使用哈希集。正如您在上面的评论中所说,您已经实现了: File f = new File("dictionary.txt"); Scanner s = new Scanner(f); 在扫描仪的帮助下,您现在可以迭代字典中的单词并将其存储在哈希集中。我不知道你的单词在字典里的分隔符

现在,我的java项目中有一个dictionary.txt文件。我是否需要将所有这些单词存储到哈希表或其他什么东西中?如何使用dictionary.txt内容作为参考来检查示例文本的拼写是否正确?

在您的情况下,我建议使用
哈希集。正如您在上面的评论中所说,您已经实现了:

File f = new File("dictionary.txt");
Scanner s = new Scanner(f);
在扫描仪的帮助下,您现在可以迭代字典中的单词并将其存储在
哈希集中。我不知道你的单词在字典里的分隔符是什么,默认情况下,扫描器的分隔符是空白。如果你是这样想的,你可以这样读:

Set<String> dict = new HashSet<String>();
File f = new File("dictionary.txt");
Scanner s = new Scanner(f);
while (s.hasNextLine()) {
    Scanner s2 = new Scanner(s.nextLine());
    while (s2.hasNext()) {
        String s = s2.next();
        dict.add(s);
    }
}
Set dict=new HashSet();
文件f=新文件(“dictionary.txt”);
扫描器s=新扫描器(f);
而(s.hasNextLine()){
扫描仪s2=新扫描仪(s.nextLine());
while(s2.hasNext()){
字符串s=s2.next();
dict.add(s);
}
}

第一个扫描器读取文件的行,而第二个扫描器读取单词(仅用于文档中有换行的情况)。如果您的分隔符与空白不同,可以使用
usedimiter(String pattern)
函数对其进行更改。如果要检查拼写是否正确,可以使用
集合的
contains()
方法。请注意,此答案假设您的词典只包含一种语言的单词,不用于翻译(不包含多种语言)。

是的,使用
哈希映射将是最省时的,您可以调用映射上的
contains()
方法检查词典中是否存在单词,那就是正确的拼写了。如果没有内存约束,并且字典文件的大小合理,那么预解析和缓存字典是一种很好的方法OK。你能帮我实现HashMap吗?到目前为止,我做了文件f=new文件(“dictionary.txt”);和扫描器s=新扫描器(f);看到你的信息,希望@Big_Foot1989的回答让你开始了。如果你被卡住了,请留下评论