map.put("Tom",5);
map.put("Tim",2);
map.put("Ted",4);
然后我可以像这样广播它:
Tom is 5
Ted is 4
Tim is 2
我该怎么做?我是编码初学者,请不要这么严厉地惩罚我。
最佳答案
你可以尝试这样的事情:
List<Entry<String, Integer>> l = new ArrayList<>(map.entrySet());
Collections.sort(l, new Comparator<Entry<?, Integer>>() {
@Override
public int compare(Entry<?, Integer> a, Entry<?, Integer> b) {
return b.getValue().compareTo(a.getValue()); // reverse order
}
});
for (int i = 0; i < 10; i++) {
Entry<String, Integer> e = l.get(i);
System.out.println(e.getKey() + " is " + e.getValue());
}
引用:
关于java - 如何按 Map<String, Integer> 值的降序获取前 10 个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098799/