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