番石榴Multiset和Multimap

时间:2012-11-08 08:18:48

标签: list map guava multimap multiset

我想知道哪个更好的guava的multiset和multipmap Vs JDK的List和Map 就......而言 时间表现和 2.记忆消耗

谁能解释一下番石榴的时间和记忆性能?

1 个答案:

答案 0 :(得分:2)

你混合了很多东西。

ListSetMap是Java集合库的3个基础接口。番石榴MultisetMultimap虽然声音相似,却不是SetMap的直接扩展。

Multiset实际上不是Set(实际上它直接扩展Collection),因为它允许重复,但也不(必然)满足{{{}之类的排序3}}(为此,您可以拥有List,这是LinkedHashSet实现。 Set 通常被称为行李

Multisets是接受同一密钥的多个值的地图(但不是Map接口的扩展名)。

另外,请考虑查看 Multimap 虽然这最初是针对C ++的,但是接受的答案会为您提供具体的例子,说明这些用例会产生意义。


因此,性能和内存消耗不是主要关注的问题。主要关注的是这些是否是您的用例的正确数据结构。

此外,接口实际上并不允许您对内存消耗做出任何假设(除了您对列表,集合或映射类型的期望之外的一般假设),因为它们仅定义API的合同。您想要了解的是这些接口的实际实现,如果您想比较它们。