为什么Google Collections中没有SortedMultiset?

Google Collections包含TreeMultiset接口和TreeMultiset类,但我很惊讶地发现没有相应的SortedMultiset接口。

这样的东西对于建立离散概率分布非常有用。

在我尝试自己实现它之前,我想知道是否有一个特定的理由将其Multiset ,例如可能违反MultisetCollection不变量,或者固有的性能问题等。


编辑 :我最初没有意识到这一点,但这实际上是3个单独的请求:

  1. 更改一个方法的返回类型( TreeMultiset.entrySet
  2. 一个新的接口,用于匹配TreeMultiset的现有function
  3. 一对新方法,用于对树分支中的计数求和

我认为只是没有人需要它,所以我们还没有写它。 这是我考虑的事情。

TreeMultiset.elementSet()返回一个SortedSet,它可能提供您想要的一些function。

ETA:finnw,您要求的SortedMultiset方法无法为“我的Multiset中有多少元素小于42?”这一问题提供明显更快的答案。 TreeMultiset实现仍然必须迭代多个集条目并总结相关元素的计数。