给定一个记录列表,我试图计算每个作者写了多少条记录。最明显的方法是使用映射,键是作者的姓名,值是递增的计数。但是有没有更有效的方法来做到这一点,而无需每次迭代都进行查找?
如果我提前知道作者,我可以为每个作者创建变量并在不查找的情况下增加它们,然后在读完输入后最终创建 map 。然而我只认识数据中的几个作者。
提前致谢。
最佳答案
基于作者姓名到计数的映射的解决方案是一个非常好的解决方案(如果您使用 HashMap,它的总体平均时间复杂度为 O(n)
)。
如果我是你,我会使用这种方法,直到我能够证明它不合适(太慢,使用太多内存等),然后我才会尝试用解决所出现问题的方法来替换它。很可能,这一天永远不会到来。
关于java - 有效地计算记录列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737545/