Find top N elements in a Multiset from Google Collections?
- by dfrankow
A Google Collections Multiset is a set of elements each of which has a count (i.e. may be present multiple times).
I can't tell you how many times I want to do the following
Make a histogram (exactly Multiset)
Get the top N values from the histogram
Examples: top 10 URLs, top 10 tags, ...
What is the canonical way to do #2 given a Multiset?
Here is a blog post about it, but that code is not quite what I want. First, it returns everything, not just top N. Second, it copies (is it possible to avoid a copy?). Third, I usually want a deterministic sort, i.e. tiebreak if counts are equal.