【发布时间】:2012-10-06 20:17:49
【问题描述】:
我有以下HashMap:
HashMap<String, Integer> counts = new HashMap<String, Integer>();
根据值排序的最简单方法是什么?
【问题讨论】:
-
您不能对 HashMap 进行排序,您可以使用 TreeMap,但键和值必须相反才能满足您的要求。
-
请忽略我之前评论中的建议。这样做的问题是,总会有多个条目具有相同的计数,并且地图不允许重复的键。我认为最好的方法是按照对条目列表进行排序的建议中的答案进行操作。
-
如果您不限于使用
HashMap,为什么不创建一个类,其中包含您的单词为String,您的计数为int,并让它实现Comparable to找到一个最大值,然后将所有这些对象插入到一个最大堆中,然后找到该堆的根节点?
标签: java sorting data-structures hashmap