Java匹配字符串的最佳方法是什么?

时间:2012-08-19 21:41:24

标签: java search grouping categories

我有几个字符串列表。每个列表代表一个类别。我试图找到特定字符串所属的类别。我只能想到两种方法:

  1. 迭代类别并返回包含它的第一个类别。

  2. 创建字符串及其类别的运行哈希映射。

  3. 哪一个更快/更有效还是有比上面列出的方法更好的方法来查找字符串所在的类别?

2 个答案:

答案 0 :(得分:1)

因此,在哈希映射中查找某些内容是常量时间(摊销),而遍历每个列表的时间是m * n,其中m是列表长度,n是列表的数量。绝对可以使用哈希映射。

或者,将每个字符串设为包含该类别的对象。

答案 1 :(得分:0)

  

我有几个字符串列表。每个列表代表一个类别。我是   试图找到特定字符串所属的类别。我只能这样做   想想两种方法:

提出这个问题的方式对我来说毫无意义 如果每个列表代表一个类别,并且String最终位于特定的列表中(并且您正试图找出哪个),那么您必须有办法映射{{1} }到一个类别,因此是一个列表,这样你就可以反过来使用该映射来查找哪个列表是String作为成员contain的候选者。
如果您没有这样的映射,那么这意味着每个String被随机地放在列表中,但是然后列表不能代表您在OP中提到的类别。

<强>更新
从您的评论看来,您似乎没有列表类别,但您正在存储String并尝试使用特定属性检索它们。在我看来,您应该首先使用Players代替HashMap