java - 有没有更好的方法来计算 Map 中的值?

标签 java data-structures treemap

我刚刚完成了当前数据结构项目的主要部分,并且正在收集统计数据。一项要求是记录 TreeMap 中所有引用的计数。

此映射包含 31,000 多个节点,其中字符串映射到不确定大小的 TreeSet。 我需要遍历 map 并保持集合中项目数量的运行计数。

最初我的想法是这样的:

Set<String> keySet= lyricWords.keySet();  
Iterator<String> iter= keySet.iterator();
String current= iter.next();

while (iter.hasNext){
  runCount+= lyricWords.get(current).size();
}

此操作的运行时间太长,无法接受。有没有更有效的方法来对最终结构执行此操作?我可以在 map 构建时进行计数,但教授希望这些数字基于最终结构本身。

最佳答案

我不确定。但是,您可能有不定循环。尝试:

runCount+= iter.next().size();

关于java - 有没有更好的方法来计算 Map 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4100800/

相关文章:

java - 有人能告诉我内部类的目的以及迭代器模式是否应该或使用内部类的好主意吗?

java - 我的任务是创建一个返回单词长度的 countCharacters() 方法,但我必须递归地执行此操作

performance - 查找最大/最小连续异或值

java - 如何在迭代时删除和添加元素到 TreeMap?

java - 绘制谢尔宾斯基三角形分形 - Java

java - 如何将java中的文件选择器限制为特定文件?

algorithm - 基本的飞行旅行计划

java - 代码段的时间复杂度

r - 是否可以自定义 rpivottable 树形图的大小

java - 单元测试断言 TreeMap 中的对象顺序正确?