Façon la plus simple de parcourir un Multiset dans l'ordre de fréquence des éléments?

Considérer cet exemple qui imprime certains type de périphérique stats. ("DeviceType" est un enum avec un dozenish valeurs).

Multiset<DeviceType> histogram = getDeviceStats();
for (DeviceType type : histogram.elementSet()) {
    System.out.println(type + ": " + histogram.count(type));
}

Quelle est la plus simple et la plus élégante façon d'imprimer les différents éléments du dans l'ordre de leur fréquence (type le plus commun de la première)?

Avec un rapide coup d'oeil à la Multiset de l'interface, il n'y a aucune méthode pour cela, et aucun de Goyave est Multiset implémentations (HashMultiset, TreeMultiset, etc) semblent conserver automatiquement les éléments de la fréquence commandés.

InformationsquelleAutor Jonik | 2010-12-03