在Java中用什么DS来搜索字符串集中的字符串?

时间:2012-04-09 11:54:53

标签: java data-structures

我有几个字符串(大约100个),我想将它们存储在数据结构中,然后我想在其中搜索特定字符串以检查其是否存在。在这种情况下,Java中的DS最适合快速搜索。

实际用例是我想为书籍创建一个目录,并且需要找出是否存在特定的标题。

所有字符串都是唯一的。我不想自己实现任何DS,但希望使用Java中已有的任何集合。

3 个答案:

答案 0 :(得分:3)

显而易见的选择是使用Set接口的实现。这会公开一个方便的contains方法,您可以使用该方法来测试是否存在特定标题。您还可以使用Map的实现(如HashMap)将String与对象关联。这样您就可以存储有关图书的信息并轻松访问它。

使用Set或Map的优点是搜索特定键非常有效。您不能在集合中包含重复项目。

答案 1 :(得分:2)

为什么不使用任何列表来存储所有字符串并使用 contains()方法来查找它是否出现在列表中或不。

您甚至可以使用设置,但在这种情况下,您的字符串必须是唯一的。

答案 2 :(得分:1)

使用Set实施。 contains方法会告诉您是否存在特定的String标题