Рассмотрим этот пример, который выводит статистику некоторых типов устройств. ( "DeviceType" - это перечисление с дюжиными значениями.)
Multiset<DeviceType> histogram = getDeviceStats();
for (DeviceType type : histogram.elementSet()) {
System.out.println(type + ": " + histogram.count(type));
}
Какой самый простой и элегантный способ распечатать отдельные элементы в порядке их частоты (наиболее часто встречающийся тип)?
С быстрым просмотром интерфейса Multiset
для этого нет готового метода, и ни один из Guava Multiset
реализации (HashMultiset
, TreeMultiset
и т.д.), как представляется, автоматически сохраняют элементы, упорядоченные по частоте.