一个Google Collections Multiset是一组带有计数的元素(即可能出现多次的元素)。
我经常需要进行以下操作:
- 制作直方图 (完全等同于 Multiset)。
- 从直方图中获取计数最高的前 N 个元素。
例如:前十个 URL (按提及次数排序),前十个标签 (按应用次数排序),...
针对 Google Collections Multiset,有什么经典方法可以实现第二点操作吗?
这里有一篇相关的博客文章,但那段代码不完全符合我的需求。首先,它返回了所有元素,而非仅返回前 N 个元素。其次,它会复制一份 Multiset (是否可以避免复制?)。第三,通常我需要一种确定性排序方式,即在计数相同时进行比较。其他注意事项:该方法不是静态的等等。