【发布时间】:2014-10-29 23:00:56
【问题描述】:
我正在编写一个需要比较值的代码,但我对 HashMaps 还很陌生,不知道如何搜索所有保存的值。
我要做的是找到所有已保存值中的最大值。我希望它通过直到第一个条件通过,保存该值和键,并继续通过,直到新值通过 if 语句条件。
double highestNum = 0.0; // 0 set to the default lowest value; saves highest value
String highestKey = ""; // used to save the key assosciated w/ highest value
for (String high : quantity_hash.keySet()) {
if (quantity_hash.get(high) > highestNum) {
highestKey = high;
}
}
截至目前(我相信),我的代码将搜索这些值,直到 if 语句通过。然后它将保存该键和值,然后停止。有什么建议吗?
编辑:我查看了以前的问题,他们似乎只是试图找到与设定值关联的键,而我试图比较所有值,并保存与这些值关联的键。如有必要,应多次重写最高编号和最高密钥。
【问题讨论】:
-
感谢 AntonH 更正“Double.MIN_VALUE”。如果值为负数,这将有所帮助。原来我也忘记了一行代码。
标签: java for-loop hashmap compare key