1

文字列に文字列配列の要素が含まれているかどうかを確認したいと思います。すべての配列要素を繰り返し処理し、String.contains(要素) を確認するのは効率的ではないように思われます。このルックアップを高速化するためのより効率的な方法があるかどうか疑問に思います。

たとえば、住所文字列から国名を取得したいとします。ユーザーは何の制約もなく自分の住所を書くことができます。アドレス文字列には、国名または都市名を含めることができます。そのため、住所文字列に、作成する配列の要素が含まれているかどうかを確認したいと思います。この配列には、国名と都市名がたくさん含まれています。

私の現在の解決策は次のとおりです。

 ArrayList<String> list;
 String address;
            ...
    for (String s : list) {
        if (address.contains(s))
            return s;
    }

これは O(n) です。より速い解決策があるかどうか疑問に思います。

4

2 に答える 2

-1

forループを使用して配列を反復処理し、要素が文字列に含まれているかどうかを確認できます。

String に特定の文字列が含まれているかどうかを確認するより良い方法は、String.contains(char) などの String クラスのメソッドを使用することです。些細な質問をする前に、もう少し実験を行うか、少なくとも直接解決できる例をいくつか挙げてください。

于 2013-09-27T00:12:46.603 に答える