java – 从hashmap获取最大值的密钥?

我有一个如此定义的HashMap

HashMap<String,Integer> uniqueNames = new HashMap<String,Integer>();

它存储一个名称,并且该名称的出现.例如…

uniqueNames.put("lastname",42);

如何获得最高的名称?

有关更多信息,我正在使用“人”二叉搜索树,将唯一的名称和频率存储在HashMap中.我想做的是打印最常用的姓氏,有人告诉我使用HashMap,因为我想将一个String与一个整数存储起来.也许我应该使用一个类来存储名称和频率?有人可以提出一些建议.

最佳答案
如果你必须使用一个HashMap,那么最简单的方法可能只是循环遍历地图寻找最大值

Entry<String,Integer> maxEntry = null;

for(Entry<String,Integer> entry : uniqueNames.entrySet()) {
    if (maxEntry == null || entry.getValue() > maxEntry.getValue()) {
        maxEntry = entry;
    }
}
// maxEntry should now contain the maximum,

转载注明原文:java – 从hashmap获取最大值的密钥? - 代码日志