У меня есть источник строк (скажем, текстовый файл), и многие строки повторяются несколько раз. Мне нужно получить верхние наиболее распространенные строки в порядке убывания числа вхождений.
Сначала пришла в голову идея создать сортируемый Bag (что-то вроде org.apache.commons.collections.bag.TreeBag ) и предоставить компаратор, который будет сортировать записи в порядке I необходимость. Однако я не могу понять, какой тип объектов мне нужно сравнивать. Это должна быть какая-то внутренняя карта, которая объединяет мой объект (String) и количество вхождений, сгенерированных внутри TreeBag. Возможно ли это?
Или мне было бы лучше просто использовать хэш-карту и отсортировать ее по значению, как описано, например, в Java-сортировка HashMap по значению