0

我有几个字符串列表。每个列表代表一个类别。我正在尝试查找特定字符串所在的类别。我只能想到两种方法来做到这一点:

  1. 遍历类别并返回包含它的第一个类别。

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

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

4

2 回答 2

1

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

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

于 2012-08-19T21:46:35.520 回答
0

我有几个字符串列表。每个列表代表一个类别。我正在尝试查找特定字符串所在的类别。我只能想到两种方法来做到这一点:

提出这个问题的方式对我来说毫无意义。
如果每个列表代表一个类别并且 aString最终出现在一个特定列表中(并且您正在尝试找出哪个),那么您必须已经有一种方法可以将 a 映射String到一个类别并因此映射到一个 List 以便您应该能够使用该映射反向查找哪个 List 是作为成员的候选containString
如果您没有这样的映射,那么这意味着每个String都随机放在一个列表中,但是该列表不能代表您在 OP 中提到的类别。

更新:
从您的评论看来,您没有列表类别,但您正在存储Players并尝试使用特定属性检索它们。在我看来,您应该首先使用 aHashMap而不是Lists

于 2012-08-19T22:05:31.987 回答