Java Guava ListMultimap中put()和get()操作的时间复杂度是多少?
or中的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
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吗