如果字符串包含数组列表中的短语,则可以更快地进行迭代?

Faster way to iterate through if a string contains a phrase from array list?

我正在使用以下代码通过一组短语迭代我的字符串:

public boolean checkName(String nameInputed, ArrayList<String> phraseList) {
    
    boolean match = false;        
    for (String phrase : phraseList) {
        if (nameInputed.matches(".*" + phrase + ".*")) {
            result = true;
        }
    }
    return match ;
}

我想知道是否有更快的方法来检查大量短语。

那……

public boolean checkName(String nameInputed, java.util.List<String> phraseList) {
    return phraseList.stream()
                     .filter(phrase -> nameInputed.contains(phrase))
                     .findFirst()
                     .isPresent();
}

如果你不想使用 stream API 那么...

public boolean checkName(String nameInputed, java.util.List<String> phraseList) {
    for (String phrase : phraseList) {
        if (nameInputed.contains(phrase)) {
            return true;
        }
    }
    return false;
}

编辑

正如@user16320675 在此

中建议的那样
public boolean checkName(String nameInputed, java.util.List<String> phraseList) {
    return phraseList.stream()
                     .anyMatch(phrase -> nameInputed.contains(phrase));
}