Я застрял на этой проблеме в течение нескольких дней. Я хочу иметь возможность проверять и подсчитывать, появляется ли каждое слово из uniqueBagOfWords в предложении, например,
UniqueBagOfWords = [мне нравится, играть, теннис, думать, футбол, потребности, большие, изменения]
вывод будет-
Предложение - я люблю играть в теннис = 1,1,1,1,0,0,0,0,0
предложение - я люблю футбол лайк = 1,2,0,0,0,0,1,0,0,0
public static void main(String[] args) {
List<String> sentences = new ArrayList<String>();
sentences.add("i like to play tennis");
sentences.add("i think football needs big changes");
sentences.add("i like football like");
List<String[]> bagOfWords = new ArrayList<String[]>();
for(String str : sentences){
bagOfWords.add(str.split(" "));
}
Set<String> uniqueBagOfWords = new LinkedHashSet<String>();
for(String[] s : bagOfWords){
for(String ss : s)
for(String st : ss.split(" "))
if(!uniqueBagOfWords.contains(st))
uniqueBagOfWords.add(st);
}
Я пробовал это, я знаю, что это неправильно, но не могу понять, куда идти дальше. Любая помощь будет здорово!
for(String s : sentences){
for(String ss : s.split(" ")){
int count= 0;
for(int loop=0; loop <uniqueBagOfWords.size(); loop++){
if(uniqueBagOfWords.contains(ss)){
count +=1;
}
}
System.out.println(ss +" "+ count);
1,1,1,1,0,0,0,0,0
от "Я люблю играть в теннис"? Разве их не должно быть 5, раз теннис в сумке? - person Bohemian♦   schedule 12.08.2016contains()
. - person user207421   schedule 12.08.2016