Пожалуйста, попробуйте другую структуру данных. Предположим, есть класс с именем MyClass, его атрибутами являются key (String) и value (int). MyClass, конечно, должен реализовать Comparable интерфейс. Другой подход заключается в создании класса с именем MyClassComparator, который расширяет Comparator.
Метод compareTo (независимо от того, где он находится) должен быть определен следующим образом:
CompareTo (параметры) {
возвращаемое значение2 - значение1; // по убыванию
}
Остальное легко. Использование List и вызов метода Collections.sort (параметры) сделают часть сортировки.
Я не знаю, какой алгоритм сортировки использует Collections.sort (параметры). Но если вы чувствуете, что некоторые данные могут поступить со временем, вам потребуется сортировка вставок. Так как это хорошо для данных, которые почти отсортированы, и это онлайн .