java - 一种更快(更)的方法来查找与列表中的模式匹配的内容

标签 java

给定一个无序列表 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/

相关文章:

java - 如何检测 Servlet 内的 ping?

java - JComboBox setBackground() 不改变箭头的颜色

java - 如何通过后台 Activity 的事件通知前台 Activity ?

java - 临时数组

java - 在运行时配置 OSGi 依赖注入(inject)

java - JAXWS 和 session

java - 从 EditText 中的共享首选项加载字符串(两个类)

java - 二叉搜索树

java - 字节数组在 JAXB 类中不起作用

java - MemCachedClient get 在设置相同的键后返回 null