Guava ListMultimap或Guava ArrayListMultimap中time complexity
和put()
的{{1}}是什么?
我已经阅读了下面的Guava文档,但是,没有提到这些操作的时间复杂性。
时间复杂度是否与Hashmap相同(get()
和O(1)
都是put()
)?
答案 0 :(得分:3)
虽然有点间接地描述了番石榴的将军documentation for multimap。具体来说,在“实现”部分中,它表示对于ArrayListMultimap,键的行为与HashMap相同,并且值的行为与ArrayList相同。
因此,get和put都是O(1)(关于HashMap附带的声明usual caveats)。对于get,它只是一个获得ArrayList的O(1)操作;对于put,它是相同的O(1)得到,然后另一个O(1)put(摊销,因为ArrayList总是增加)。