0

の順序付けられていないリストが与えられた場合、提供された文字列に一致List<String>するが存在するかどうかを確認する必要があります。String

だから、私はループします

    for (String k : keys) {
        if (Utils.keysMatch(k, anotherKey)) {
            result = true;
            break;
        }
    }

Utils.keysMatch適切なマッチングが発生する可能性があるかどうかを確認する場所。

完全な反復なしで同じことができますか?k正規表現である可能性があることに注意してください。

4

2 に答える 2

1

GuavaのIterables.anyメソッドと静的述語クラスを使用してエレガントな方法でそれを行うことができます

このような:

return Iterables.any(keys, Predicates.containsPattern(k);

于 2012-09-12T13:33:45.727 に答える
1

いいえ。最悪の場合、最後に確認する要素が最初に一致する要素であるため、すべてを確認する必要があります。

もちろん、適切なデータ構造を事前に計算できれば、より高速な結果が得られる可能性があります。

于 2012-09-12T13:35:34.877 に答える