有我可以下载的java字典吗?

有我可以下载的java字典吗?,java,Java,有我可以下载的java字典吗? 我想有一个程序,它可以接收一些随机字母,并通过对照字典检查它们,看看它们是否可以重新排列成一个真正的单词。字典通常与编程语言无关。如果你不使用关键词“java”就用谷歌搜索它,你可能会得到更好的结果。例如,在每行下给出。很容易逐行解析 您可以在内存中读取它(记住它有很多内存): (来自) 这样你就得到了所有单词的列表。或者,如果遇到内存问题,可以使用行迭代器。这里有一个: 您可以使用标准Java文件处理来读取每行上的单词: 退房-,它可能会给你一些线索 我不确定

有我可以下载的java字典吗?
我想有一个程序,它可以接收一些随机字母,并通过对照字典检查它们,看看它们是否可以重新排列成一个真正的单词。字典通常与编程语言无关。如果你不使用关键词“java”就用谷歌搜索它,你可能会得到更好的结果。例如,在每行下给出。

很容易逐行解析

您可以在内存中读取它(记住它有很多内存):

(来自)

这样你就得到了所有单词的
列表。或者,如果遇到内存问题,可以使用行迭代器。

这里有一个:

您可以使用标准Java文件处理来读取每行上的单词:

退房-,它可能会给你一些线索

我不确定是否有这样的库可供下载!但我想你一定可以在sourceforge.net上搜索,看看是否有字典,或者人们是如何使用字典的-

有我可以下载的字典吗 对于java

其他人已经回答了这个问题。。。也许你说的不仅仅是一个字典文件,而是一个拼写检查器

我想有一个需要 随机发送几个字母,看看它们是否正确 可以通过 对照字典核对

这是不同的。你希望这个速度有多快?字典里有多少个单词,你想检查多少个单词,最长是多少

如果您想要一个拼写检查器(您的问题还不完全清楚),Jazzy是一个Java拼写检查器,它有很多字典的链接。这还不错,但是各种实现的效率非常低(对于小型字典来说,这是可以的,但是当你有几十万个单词时,这是一种惊人的浪费)

现在,如果您只想解决您描述的特定问题,您可以:

  • 解析字典文件并创建映射:(按排序顺序排列的字母,一组匹配的单词)

  • 然后,对于任意数量的随机字母:对它们进行排序,查看地图中是否有条目(如果有条目,则条目的值包含可以使用这些字母的所有单词)

    abracadabra:(AAAAA BBCDRR,(abracadabra))

    牛车:(牛车(牛车))

    管弦乐队:(acehorrst,(马车,管弦乐队))

等等

现在,比如说,你随机取三个字母,然后得到“Hsoterca”,你把它们排序得到“acehorrst”,然后用它作为键,你得到所有(有效的)字谜

这是因为您描述的是一个特殊(简单)的情况:您只需要对字母进行排序,然后使用O(1)映射查找

要进行更复杂的拼写检查,可能会有错误,那么你需要找到“候选词”(可能正确但拼写错误的单词)[比如说,使用soundex、变音或双变音算法],然后使用Levenhstein编辑距离算法等来检查候选词与已知的好词(或者更为复杂的由Levenhstein编辑距离组成的树,谷歌使用它的“键入时查找”):


有趣的是,优化的字典表示法可以在每个单词不到10位的情况下存储数百甚至数百万个单词(是的,你读对了:每个单词不到10位)但允许非常快速的查找。

这看起来很有用。但我该如何使用它?口述可能是编程语言不可知论,但肯定不是语言不可知论!((@adrian:Ha!在非编程论坛中,这句话确实没什么意义;)修复。