包含英语中所有单词的Java数组? (或具有相同效果的东西)

时间:2011-12-13 08:59:09

标签: java arrays dictionary

差不多,我正在编写一个程序,它将在数组中的每个单词上运行相同的代码。我已经制作了一个包含大约50个单词的数组,只是为了尝试它,并且效果很好。 有没有人知道如何将英语中的所有单词(或至少相当大的数量,如字典的内容)放入Java数组中?

提前感谢您的回复!

6 个答案:

答案 0 :(得分:3)

在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();

答案 1 :(得分:1)

除了用于保存字典数据的低效数据结构外,Arrays还可以保留重复数据。因此,如果要向数组添加单词,是否确定不添加重复项? ..如果要检查重复项,则会增加另一层代码复杂性,这会增加run-time/algo complexity并降低性能。

答案 2 :(得分:0)

源forge上的Word List project有一堆你可以使用的列表。

答案 3 :(得分:0)

在数组中包含大量“单词”将是非常低效的。但如果你的目的只是试验,你可以

  • 在文本文件中复制大量文本。
  • 将该文本文件的内容读入字符串
  • 对空白字符串内容进行标记/拆分

答案 4 :(得分:0)

你在评论中说过

  

关于单词是什么(它不是写一个故事的程序)并不是真正的问题   例如),我只需要大量的单词

他们必须单词,还是只能使用随机生成的字母和/或数字组合?您还没有明确自己的真实目标 - 如果您只想尝试IO和数组,那么您不需要真正的数据。

答案 5 :(得分:0)

这是一个很好的问题,有两种方法:

  1. 打开字典,输入每个该死的字!
  2. 编写一个程序,接受用户提供的单词,并在对其进行分类后将其存储到数组中。
  3. 这两种方法都很繁琐,但至少在第二种方法中,你不必自己做所有事情:)