如何按字母顺序对HashMap条目进行排序?

时间:2015-03-22 12:25:48

标签: java hashmap

我制作了一个程序,该程序将从用户读取文本,然后显示用户文本的字母频率。我正在尝试使用哈希映射,我不知道如何按字母顺序显示结果。

我目前有:

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]。 (用于打印&#34; Harry&#34;)

2 个答案:

答案 0 :(得分:2)

您正在寻找的是一个实现SortedMap界面的集合。尝试使用TreeMap,这可以保证其键的自然顺序。

此问题描述了Map的各种实现之间的差异:Difference between HashMap, LinkedHashMap and TreeMap

答案 1 :(得分:1)

使用TreeMap代替HashMap