Kan*_*ath 15 collections guava
我想知道一些实际的用例(如果它们与任何编程语言没有关联/关系会更好).我可以将集合,列表和映射与实际用例相关联.
例如,如果您想要一本书的词汇表,其中您想要的术语按字母顺序列出,并且位置/页码是值,您将使用集合TreeMap(OrderedMap这是一个Map)
不知何故,我无法将MultiSets与任何"实用"用例相关联.有人知道有什么用途吗?
http://en.wikipedia.org/wiki/Multiset并没有告诉我足够的:)
PS:如果你们认为这应该是社区维基,那就没关系.我没有这么做的唯一原因是"有一个明确的客观方式来回答这个问题".
Lar*_*abe 11
很多应用程序.例如,想象一下购物车.这可以包含一个以上项目的实例 - 即2个cpu,3个图形板等.所以它是一个多组.一个简单的实现是跟踪每个项目的数量 - 即保持信息2 cpu,3图形板等.
我相信你可以想到很多其他的应用程序.
多重集在许多情况下很有用,否则您将拥有地图。以下是三个例子。
假设您有一个带有访问器 getType() 的类 Foo,并且您想知道对于 Foo 实例的集合,每种类型有多少个。
同样,系统可以执行各种操作,您可以使用 Multiset 来跟踪每个操作发生的次数。
最后,要确定两个集合是否包含相同的元素,忽略顺序但注意实例重复的频率,只需调用
HashMultiset.create(collection1).equals(HashMultiset.create(collection2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2959 次 |
| 最近记录: |