java - 有效地计算记录列表中的项目

标签 java collections hash dictionary

给定一个记录列表,我试图计算每个作者写了多少条记录。最明显的方法是使用映射,键是作者的姓名,值是递增的计数。但是有没有更有效的方法来做到这一点,而无需每次迭代都进行查找?

如果我提前知道作者,我可以为每个作者创建变量并在不查找的情况下增加它们,然后在读完输入后最终创建 map 。然而我只认识数据中的几个作者。

提前致谢。

最佳答案

基于作者姓名到计数的映射的解决方案是一个非常好的解决方案(如果您使用 HashMap,它的总体平均时间复杂度为 O(n))。

如果我是你,我会使用这种方法,直到我能够证明它不合适(太慢,使用太多内存等),然后我才会尝试用解决所出现问题的方法来替换它。很可能,这一天永远不会到来。

关于java - 有效地计算记录列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737545/

相关文章:

java - 在 NetBeans 中编译任何 JavaFX 项目都会返回 Unsupported major.minor version 52.0

java - 无法从 POI 的 STRING 单元格获取 NUMERIC 值

Java - 如何对这个 ArrayList 进行排序?

java - 使用哪种数据结构来保持列表唯一且插入顺序完整

c - atol 对不同的字符串产生相同的结果

java - 生产者-消费者生产一件元素并立即消费(Java)

java - spring 在链接中使用安全 :authentication principal. 用户名

Java List<> 行为

validation - 如果颁发者名称的编码不同但 key 有效,则 X509 证书验证失败是否正确?

perl - 如何在Perl中按键对哈希的哈希排序?