给定一个无序列表 List<String>
,我需要查找是否存在 String
与提供的字符串匹配。
所以,我循环
for (String k : keys) {
if (Utils.keysMatch(k, anotherKey)) {
result = true;
break;
}
}
哪里Utils.keysMatch
检查是否可以发生适当的匹配。
可以在不进行完整迭代的情况下完成同样的操作吗?请注意 k
可能是正则表达式。
最佳答案
您可以使用 Guava 的 Iterables.any 以优雅的方式做到这一点方法和静态谓词类
像这样:
return Iterables.any(keys, Predicates.containsPattern(k);
关于java - 一种更快(更)的方法来查找与列表中的模式匹配的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389280/