我有一个散列图,用于存储文本中字符出现的次数。我正在尝试打印出前三名,但打印不正确。
int max = 1000000000;
for (int i = 1; i <= 3; i++) {
for (Character key : list.keySet()) {
if (list.get(key) < max) {
max = list.get(key);
System.out.println(i + ": " + key + " " + list.get(key));
break;
}
}
}
最佳答案
您可以将程序修改为以下形式:
for (int i = 1; i <= 3; i++) {
int max = -1;
Character maxKey = 'a';
for (Character key : list.keySet()) {
if (list.get(key) > max) {
max = list.get(key);
maxKey = key;
}
}
System.out.println(i + ": " + maxKey + " " + max );
list.remove(maxKey);
}
关于java - 获取Hashmap前3个键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28173662/