Как отсортировать записи HashMap в алфавитном порядке?

1

Я сделал программу, которая будет читаться в тексте от пользователя, а затем отображать частоты букв текста пользователя. Я экспериментирую с хэшмапами, и я не уверен, как отображать результаты в алфавитном порядке.

В настоящее время у меня есть:

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]. (Для печати "Гарри")

Теги:
hashmap

2 ответа

2
Лучший ответ

Вы ищете коллекцию, которая будет реализовывать интерфейс SortedMap. Попробуйте использовать TreeMap, что гарантирует естественный порядок его ключей.

Этот вопрос описывает различия между различными реализациями Map: разница между HashMap, LinkedHashMap и TreeMap

1

Используйте TreeMap вместо HashMap.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню