Javaで、増え続ける文字列リストで単語または部分文字列を検索する最速の方法は何ですか?
たとえば、10 個の単語のリストがあり、ユーザーが入力した単語を 5 分ごとに検索し、そのリストが 1 分ごとに 1 単語ずつ増えていく場合、これらの単語を格納するのに最適なデータ構造は何でしょうか。 ?
私たちが実際に行っているのはこれです...「キーワード」を取得すると、プログラムはそのキーワードに基づいて応答するフレーズを検索する必要がありますが、フレーズのリストは常に増加しています。キーワードを読み取り、すべてのフレーズを解析してからフレーズを選択するには、非常に時間がかかります。現在のアルゴリズムは現在 n^3 であり、これは不適切です。
Java のデータ構造、またはこれをより効率的にするのに役立つソート/検索アルゴリズムはありますか?