Java массив со всеми словами на английском языке? (или что-то с тем же эффектом) - PullRequest
1 голос
/ 13 декабря 2011

Я пишу программу, которая будет запускать один и тот же код для каждого слова в массиве. Я сделал массив из около 50 слов, просто чтобы попробовать, и он прекрасно работает. Кто-нибудь знает способ получить все слова на английском языке (или, по крайней мере, довольно большое количество, например, содержимое словаря) в массив Java?

Заранее спасибо за любые ответы!

Ответы [ 6 ]

3 голосов
/ 13 декабря 2011

На 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 голос
/ 13 декабря 2011

Помимо неэффективной структуры данных для хранения словарных данных, массивы могут содержать дубликаты. Итак, если вы добавляете слова в массив, вы уверены, что не добавляете дубликаты? Если вы проверяете наличие дубликатов, это добавляет другой уровень сложности кода, который увеличивает время выполнения / сложность алгоритма и снижает производительность.

0 голосов
/ 10 марта 2017

Это отличный вопрос, для которого есть два метода:

  1. Откройте словарь и наберите каждое чертово слово!
  2. Напишите программу, которая принимает слово от пользователя и сохраняет его после категоризации в массив.

Оба метода довольно утомительны, но по крайней мере со вторым вам не придется делать все самостоятельно:)

0 голосов
/ 14 декабря 2011

Вы сказали в комментариях, что

На самом деле не проблема в том, что означают слова (это не программа, которая пишет историю например), мне просто нужно огромное количество слов

Должны ли они быть словами , или вы могли бы вместо этого просто использовать случайно сгенерированные комбинации букв и / или цифр? Вы не уточнили свою истинную цель - если вы просто хотите поэкспериментировать с IO и массивами, вам не нужны реальные данные.

0 голосов
/ 13 декабря 2011

Наличие большого количества «слов» в массиве будет крайне неэффективным. Но если ваша цель - просто экспериментировать, вы можете

  • Копирование большого количества текста в текстовый файл.
  • Считать содержимое этого текстового файла в строку
  • Токенизация / разбиение содержимого строки на пробел
0 голосов
/ 13 декабря 2011

Проект Word List в исходной кузнице имеет несколько списков, которые вы можете использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...