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

时间:2018-02-27 06:33:42

标签: java time-complexity guava multimap

Guava ListMultimapGuava ArrayListMultimaptime complexityput()的{​​{1}}是什么?

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

ListMultimap

ArrayListMultimap

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

1 个答案:

答案 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总是增加)。