Google Collections包含Multiset
接口和TreeMultiset
类,但我很惊讶地发现没有相应的SortedMultiset
接口。
这样的东西对于建立离散概率分布非常有用。
在我尝试自己实施之前,我想知道是否有特定的理由将其遗漏,例如可能违反Multiset
或Collection
不变量,或固有的性能问题等。
编辑:我最初没有意识到这一点,但这实际上是3个单独的请求:
TreeMultiset.entrySet
)TreeMultiset
答案 0 :(得分:7)
我认为只是没有人需要它,所以我们还没有写它。这是我考虑的事情。
答案 1 :(得分:0)
TreeMultiset.elementSet()返回一个SortedSet,它可能提供您想要的一些功能。
ETA:finnw,您要求的SortedMultiset方法无法为“我的Multiset中有多少元素小于42?”这一问题提供明显更快的答案。 TreeMultiset实现仍然必须迭代多个集条目并总结相关元素的计数。