map.put("Tom",5);
map.put("Tim",2);
map.put("Ted",4);
然后我可以广播它:
Tom is 5
Ted is 4
Tim is 2
我怎么能这样做?我是编码的初学者,请不要那么刻苦地惩罚我。
答案 0 :(得分:10)
您可以尝试这样的事情:
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());
}
<强>参考:强>
答案 1 :(得分:0)
您可以使用TreeMap并在构造函数中传递Comparator
,使您的条目按所需顺序排列,然后迭代entrySet
。