什么DS用于搜索Java中的一组字符串中的字符串?

什么DS用于搜索Java中的一组字符串中的字符串?

问题描述:

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

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

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

+0

任何字典数据结构将会做 – Dan 2012-04-09 12:00:37

你为什么不使用任何列表来存储所有的字符串和使用包括()方法找到它是否存在于你的列表或不。

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

+0

如果列表和数以百万计的书名O(n)将搜索时间,因此树或散列表是合适的。 – Yavar 2012-04-09 12:02:11

+0

@Yavar他已经提到该列表大约有100个长度。这就是为什么我建议关于List的原因。 – 2012-04-09 12:03:24

+0

哎呀,嗯绝对正确。 +1 :) – Yavar 2012-04-09 12:04:46

使用Set实现。该contains方法会告诉你,如果一个特定的String标题是存在还是不

明显的选择是使用Set接口的实现。这暴露了方便的contains方法,您可以使用它来测试是否存在特定的标题。您也可以使用Map的实现,如HashMap将String与对象相关联。这将允许您存储有关您的图书的信息并轻松访问它。

使用Set或Map的好处是,搜索特定的键是非常有效的。你不能在一个集合中有重复的项目。