我制作了一个程序,该程序将从用户读取文本,然后显示用户文本的字母频率。我正在尝试使用哈希映射,我不知道如何按字母顺序显示结果。
我目前有:
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;)
答案 0 :(得分:2)
您正在寻找的是一个实现SortedMap
界面的集合。尝试使用TreeMap
,这可以保证其键的自然顺序。
此问题描述了Map
的各种实现之间的差异:Difference between HashMap, LinkedHashMap and TreeMap
答案 1 :(得分:1)
使用TreeMap
代替HashMap
。