【发布时间】:2009-08-25 21:40:30
【问题描述】:
Google Collections包含Multiset接口和TreeMultiset类,但我惊讶地发现没有对应的SortedMultiset接口。
类似的东西对于建模离散概率分布非常有用。
在我尝试自己实现它之前,我想知道是否有特定的原因将其排除在外,例如可能违反Multiset 或Collection 不变量,或固有性能问题等。
编辑:我最初并没有意识到,但这实际上是 3 个单独的请求:
- 一种方法的返回类型的更改 (
TreeMultiset.entrySet) - 与
TreeMultiset现有功能相匹配的新界面 - 对树的分支计数求和的新方法
【问题讨论】:
-
为什么需要实现它?与
TreeMultiset有何不同? -
它将具有与 TreeMultiset 所缺乏的 headSet/tailSet/subSet 等价物。我不确定是否可以通过扩展 TreeMultiset 来有效地实现这些。
-
它的
entrySet()方法也会返回一个SortedSet而不是一个普通的Set。