基本上,我正在编写一个程序,将对数组中的每个单词运行相同的代码。我做了一个大约50个单词的数组来尝试一下,效果很好。有人知道如何将英语中的所有单词(或至少相当大量的单词,如Dictionary的内容)放入Java数组吗?
提前感谢任何回复!
在linux上可以这样做。里面有很多我不确定是不是英语的单词。
BufferedReader br = new BufferedReader("/usr/share/dict/words");
Set<String> words = new LinkedHashSet();
String line;
while((line = br.readLine()) != null) words.add(line);
br.close();
除了作为保存字典数据的低效数据结构之外,数组可以保存重复项。那么,如果要向数组中添加单词,您确定没有添加重复项吗?..如果您要检查重复,则会增加另一层代码复杂性,从而增加运行时/算法复杂性并降低性能。
这个问题很好,有两种方法:
- 打开字典,把每个该死的单词都打出来!
- 编写一个程序,从用户接收一个单词,并将其分类后存储到数组中。
这两个方法都很繁琐,但至少对于第二个方法,您不必自己做所有的事情:)
在数组中有大量的"words"将是非常低效的。但是如果你的目的只是试验,你可以
- 在文本文件中复制大量文本。
- 将该文本文件的内容读入字符串
- 标记/分割空格上的字符串内容
source forge上的Word List项目有一堆你可以使用的列表
你在评论中说
这不是一个关于单词是什么的问题(它不是一个写故事的程序)例如,我只需要大量的单词
它们必须是单词吗,或者你可以使用随机生成的字母和/或数字的组合来代替?您还没有明确您的真正目标—如果您只是想尝试IO和数组,那么您不需要真实的数据。