1

いくつかの文字列 (約 100) があり、それらをデータ構造に格納したいのですが、後で特定の文字列を検索して、存在するかどうかを確認したいと考えています。この場合、Java のどの DS が高速検索に最適でしょうか。

実際のユースケースは、本のカタログを作成したいので、特定のタイトルが存在するかどうかを調べる必要があるというものです。

すべての文字列は一意です。DS を自分で実装したくはありませんが、Java に既に存在するコレクションを使用したいと考えています。

4

3 に答える 3

3

明らかな選択は、Setインターフェースの実装を使用することです。これにより、特定のタイトルが存在するかどうかをテストするために使用できる便利なcontainsメソッドが公開されます。HashMapのようなマップの実装を使用して、文字列をオブジェクトに関連付けることもできます。これにより、書籍に関する情報を保存し、簡単にアクセスできるようになります。

セットまたはマップを使用する利点は、特定のキーの検索が非常に効果的であることです。セット内にアイテムを重複させることはできません。

于 2012-04-09T12:02:38.790 に答える
2

リストを使用してすべての文字列を保存し、contains()メソッドを使用してリストに存在するかどうかを確認してみませんか。

Setを使用することもできますが、その場合、文字列は一意である必要があります。

于 2012-04-09T11:59:30.143 に答える
1

Set実装を使用します。このcontainsメソッドは、特定のStringタイトルが存在するかどうかを教えてくれます

于 2012-04-09T11:59:04.327 に答える