1
Я читаю файл, затем вызываю метод string [], который разбивает строку на отдельные слова, добавляет каждое слово в массив уникальных слов (без дубликатов слов) и возвращает массив уникальных слов.Как удалить повторяющиеся слова из массива в java
Я не могу понять, как печатать только каждое слово один раз, но вот что я до сих пор.
static public String[ ] sortUnique(String [ ] unique, int count)
{
String temp;
for(int i = 1; i < count; i++) {
temp = unique[i].replaceAll("([a-z]+)[,.?]*", "$1");;
int j;
for(j = i - 1; j>= 0 && (temp.compareToIgnoreCase(unique[j]) < 0);j--) {
unique[j+1] = unique[j];
}
unique[j+1] = temp;
}
return unique;
}
И вот файл данных.
Is this a dagger which I see before me,
The handle toward my hand? Come, let me clutch thee.
I have thee not, and yet I see thee still.
Art thou not, fatal vision, sensible
To feeling as to sight? Or art thou but
A dagger of the mind, a false creation,
Любая помощь была бы принята с благодарностью!
Read http://stackoverflow.com/questions/357421/what-is-the-best-way-to-remove-duplicates-in- a-array-in-java –
Поверните массив в набор, а затем преобразуйте его обратно в массив. –
Идея: 1) сортировать массив 2) проверять каждый элемент на следующий элемент 3) если 'item [i] == item [i + 1]' удалить дубликат. –