我想知道哪个更好的guava的multiset和multipmap Vs JDK的List和Map 就......而言 时间表现和 2.记忆消耗
谁能解释一下番石榴的时间和记忆性能?
答案 0 :(得分:2)
你混合了很多东西。
List
,Set
和Map
是Java集合库的3个基础接口。番石榴Multiset
和Multimap
虽然声音相似,却不是Set
和Map
的直接扩展。
Multiset
实际上不是Set
(实际上它直接扩展Collection
),因为它允许重复,但也不(必然)满足{{{}之类的排序3}}(为此,您可以拥有List
,这是LinkedHashSet
实现。 Set
通常被称为行李。
Multisets是接受同一密钥的多个值的地图(但不是Map
接口的扩展名)。
另外,请考虑查看 Multimap
虽然这最初是针对C ++的,但是接受的答案会为您提供具体的例子,说明这些用例会产生意义。
因此,性能和内存消耗不是主要关注的问题。主要关注的是这些是否是您的用例的正确数据结构。
此外,接口实际上并不允许您对内存消耗做出任何假设(除了您对列表,集合或映射类型的期望之外的一般假设),因为它们仅定义API的合同。您想要了解的是这些接口的实际实现,如果您想比较它们。