Не могли бы помочь? Есть код, который пытается решить следующую задачу: находит слова, затем помещает одинаковые слова в Set, а затем он должен вернуть все предложения, у которых есть одинаковые слова. Но проблема в том,что метод getWordArray возвращает только слова последнего предложения. Логично, сделать List вместо String[], но не получается.
public static List<Text> findSentenceWithSameWords(List<Text> sentences){
Set<String> duplicates = twoSets(sentences);
List<Text> sentence = new ArrayList<>();
for (Text s:sentences){
for (String d:duplicates){
if(s.getContent().contains(d)){
sentence.add(s);
}
}
}
return sentence;
}
public static String [] getWordArray(List<Text> sentences) {
String[] words = null;
for (Text sentence : sentences) {
words = sentence.getContent().split("[ ?,]");
}
return words;
}
private static Set<String> twoSets(List<Text> sentences) {
String [] list = getWordArray(sentences);
Set<String> foundStrings = new HashSet<>();
Set<String> duplicates = new HashSet<>();
for (String str : list) {
if (foundStrings.contains(str)) {
duplicates.add(str);
}
else {
foundStrings.add(str);
}
}
return duplicates;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Базовый класс в Java, как известно, ObjectКакие его методы вы можете назвать?
Если кто-нибудь недавно проходил эту сертификацию, то поделитесь, пожалуйста, какими ссылками/тренажерами/репозиториями вы пользовались...