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

Java Guava ListMultimap中put()和get()操作的时间复杂度是多少?,java,time-complexity,guava,multimap,Java,Time Complexity,Guava,Multimap,or中的put()和get()的时间复杂度是多少 我已经阅读了下面的Guava文档,但是没有提到这些操作的时间复杂性 时间复杂度是否与Hashmap的时间复杂度相同(O(1)(对于put()和get())?这是在番石榴的总体上描述的,尽管有点间接。具体地说,在“实现”部分,它指出对于ArrayListMultimap,键的行为类似于HashMap,值的行为类似于ArrayList 因此,get和put都是O(1)(HashMap附带的关于该声明)。对于get,它只是一个O(1)操作来获取Ar

or中的
put()
get()
时间复杂度是多少

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


时间复杂度是否与Hashmap的时间复杂度相同(
O(1)
(对于
put()
get()
)?

这是在番石榴的总体上描述的,尽管有点间接。具体地说,在“实现”部分,它指出对于ArrayListMultimap,键的行为类似于HashMap,值的行为类似于ArrayList


因此,get和put都是O(1)(HashMap附带的关于该声明)。对于get,它只是一个O(1)操作来获取ArrayList;对于put,是相同的O(1)get,然后是另一个O(1)put(摊销,就像ArrayList的加法一样)。

你检查过这些类的源代码了吗?
ArrayListMultimap
只是在内部使用了一个
ArrayList
。@JimGarrison是的,我读过关于它的超级接口Multimap。但是没有提到超级接口中方法的时间复杂度。@Ben,这是否意味着如果使用ArrayList,它是一个O(n)操作?所以,如果我希望put()和get()操作的时间复杂度为O(1),我应该使用HashMultimap吗