我有两个String的ArrayList,我想计算两个单词中的单词。

每个ArrayList包含关键字,例如几个单词的字符串,例如:

极度衰退

斯特拉达·隆拉

奥巴马总统奥巴马

[...]

我尝试了这两种方法,但得到了NullPointerException

 public boolean containsKeyword(String testKeyword, ArrayList<String> list)
{ return list.contains(testKeyword);
}

public int compareKeywords(Quotidiano quotidiano){
    int sameKeywords=0;
    for(int i=0; i<this.Keywords.size(); i++){
            if(this.containsKeyword(this.getKeyword(i), quotidiano.Keywords))
             sameKeywords++;
          }

    return sameKeywords;
}


非常感谢您的回答!



[编辑]

使用交叉路口有效,谢谢!
但是如果比较单个单词会更好。

例如,如果我有关键短语

“意大利的传播”,

“价差在300以下”,

我认为路口为空,相反,我想返回“价差”。
我该怎么做?

最佳答案

使用Apache ListUtils Intersection

public static java.util.List intersection(java.util.List list1,
                                      java.util.List list2)


PS:如果任一列表为null,则抛出java.lang.NullPointerException

关于java - 比较两个arrayList <String> java中的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13208717/

10-10 14:27
查看更多