繁体   English   中英

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

[英]How to sort HashMap entries in alphabetic order?

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

我目前有:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM