首页 > 解决方案 > 查看一个字符串是否有在 LinkedList 中使用 equals() 提供的关键字

问题描述

鉴于这种情况,我想看看字符串是否包含所有给定的关键字,至少一次/单词。我的 for 循环似乎没有这样做,所以我很感兴趣是否有另一种方法可以尝试解决问题。

LinkedList<String> keyWords = new LinkedList<String>();
keyWords.add("amet");
keyWords.add("eiusmod");

String toCheck = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";

String[] toCheckWords = toCheck.split(" ");

for (int i=0; i<toCheckWords.length(); i++) {
  if (keyWords.get(i).equals(toCheckWords[i])
     return true;
}
return false;

预计返回真

标签: javastringlinked-listequalssearch-keywords

解决方案


你为什么不这样做:

public static boolean check(String input, List<String> keywords) {
    for (String keyword : keywords)
        if (!input.contains(keyword))
            return false;

    return true;
}

在你的情况下你会这样称呼:

check(toCheck, keyWords);

推荐阅读