java为什么谷歌收藏中没有SortedMultiset?
Google Collections包含Multiset
接口和TreeMultiset
类,但我惊讶地发现没有相应的SortedMultiset
接口
类似的东西对于离散概率分布的建模非常有用
在我尝试自己实现它之前,我想知道是否有特定的原因将其忽略,例如可能违反Multiset
或Collection
不变量,或固有的性能问题等
编辑:我最初没有意识到,但实际上这是3个独立的请求:
- 对一个方法的返回类型的更改(
TreeMultiset.entrySet
) - 与
TreeMultiset
的现有功能相匹配的新接口 - 一种新的求树分支计数和的方法
# 1 楼答案
TreeMultiset。elementSet()返回一个SortedSet,它可能提供一些您想要的功能
ETA:finnw,对于“我的多重集合中有多少元素少于42个”这个问题,您请求的SortedMultiset方法不会提供更快的答案TreeMultiset实现仍然需要遍历多集条目,并对相关元素的计数求和
# 2 楼答案
我认为只是还没有人需要它,所以我们还没有写出来。这是我会考虑的事情。