Я сделал программу, которая будет читаться в тексте от пользователя, а затем отображать частоты букв текста пользователя. Я экспериментирую с хэшмапами, и я не уверен, как отображать результаты в алфавитном порядке.
В настоящее время у меня есть:
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < user.length(); i++) {
Integer count = map.get(user.charAt(i)); // if not in map
if (count == null)
map.put(user.charAt(i), 1);
else
map.put(user.charAt(i), count + 1);
}
Как мой код для хранения значений, но когда я печатаю результат
System.out.println(map.entrySet());
Я получаю [a=1, r=2, h=1, y=1]
. (Для печати "Гарри")
Вы ищете коллекцию, которая будет реализовывать интерфейс SortedMap
. Попробуйте использовать TreeMap
, что гарантирует естественный порядок его ключей.
Этот вопрос описывает различия между различными реализациями Map
: разница между HashMap, LinkedHashMap и TreeMap
Используйте TreeMap
вместо HashMap
.