【发布时间】:2011-03-05 16:29:53
【问题描述】:
我有一个 HashMap 类型:
HashMap<String, Integer> h = new HashMap<String, Integer>();
HashMap 包含一个字符串列表,而 Integer 是一个计数器,用于计算找到该字符串的次数。我想做的是根据整数对 HashMap 进行排序,然后根据字符串的字母顺序。
目前我正在记录一个单词的最大出现次数(名为 max 的变量)并显示如下值:
public void print(){
while(max > 0){
for (String key : h.keySet()){
if(h.get(key) == max){
System.out.println(key + " " + h.get(key));
}
}
max--;
}
}
它不按字母顺序对值进行排序,它也访问 HashMap max*h(size) 次。
什么是更好的解决方案?
【问题讨论】:
-
@krock 很好的发现。是的,完全相同的问题。
标签: java sorting hashtable hashmap