【发布时间】:2011-02-01 05:47:36
【问题描述】:
我想知道一些实际用例(如果它们与任何编程语言无关/绑定会更好)。我可以将集合、列表和映射与实际用例相关联。
例如,如果您想要一本书的词汇表,其中您想要的术语按字母顺序列出,并且位置/页码是值,您可以使用集合 TreeMap(OrderedMap 这是一个地图)
不知何故,我无法将 MultiSet 与任何“实用”用例相关联。有人知道有什么用途吗?
http://en.wikipedia.org/wiki/Multiset 没有告诉我足够的信息:)
PS:如果你们认为这应该是社区 wiki 的,那也没关系。我没有这样做的唯一原因是“有一个明确的客观方法可以回答这个问题”。
【问题讨论】:
-
到目前为止,这里没有答案实际上给出了很好的解释。购物车只是一个映射
Item -> Count,一个普通的字典。当我们还发现它们对“集合并集”和“集合交集”的广义定义时,多重集 OTOH 在上下文中变得非常有用。 -
@Kos:我同意没有令人满意的答案,因为人们只能使用 List 而不是 Multiset。但是即使对于联合和交集,多重集不会有
O(n*n)或者如果实施得好,O(n*log n)比较?它比 List/Array 好在哪里?
标签: collections guava