java - Guava ListMultimap中put()和get()操作的时间复杂度是多少?

标签 java time-complexity guava multimap

Guava ListMultimapput()get()时间复杂度 是多少?或 Guava ArrayListMultimap

我已经阅读了下面的 Guava 文档,但是没有提到这些操作的时间复杂度。

ListMultimap

ArrayListMultimap

时间复杂度和Hashmap一样吗(put()get()O(1))?

最佳答案

这在 guava 的通用 documentation for multimap 上有描述,虽然有点间接。 .具体来说,在“实现”部分中,它表示对于 ArrayListMultimap,键的行为类似于 HashMap,而值的行为类似于 ArrayList。

因此,get 和 put 都是 O(1)(关于伴随 HashMap 的声明的 usual caveats)。对于get,获取ArrayList只是一个O(1)的操作;对于 put,它是相同的 O(1) get,然后是另一个 O(1) put(摊销,因为 ArrayList 添加总是如此)。

关于java - Guava ListMultimap中put()和get()操作的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49002529/

相关文章:

java - Guava 表到 CSVPrinter(带标题)

java - Maven导入项目错误

jvm - Java SE 的软件架构与 JDK、JRE 和 JVM 的关系?初学者

java - 涉及循环两个输入数组的解决方案: O(n + m) or O(n * m)

algorithm - 读取 N 个单词并打印所有字谜的算法

caching - Google Guava Cache 在刷新同一键的值时是否进行重复数据删除

java - 将 ListenableScheduledFuture<Void> 转换为 ListenableFuture<SomethingElse>

java - 使用Java的TCP或UDP

java - 如何在 JUNG 2.0 框架中复制图形?

for-loop - 以下嵌套循环依赖关系的时间复杂度是多少?