java中给map按照值value排序输出,用Comparator实现


public class MyIntComparator {

  public static void main(String[] args) {
  Map<String, Integer> map = new TreeMap<String, Integer>(); 

  map.put("阳光", 20); 
  map.put("春节", 10); 
  map.put("太阳", 30); 
  map.put("多阳", 80); 
  map.put("明媚", 90); 
  map.put("努力", 15); 
  map.put("坚持", 62); 
  map.put("我最棒", 36); 

  List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(   map.entrySet()); 
  //排序前 
  for (int i = 0; i < infoIds.size(); i++) { 
  String id = infoIds.get(i).toString(); 
  System.out.println(id); 
  } 
  //排序 
  Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { 
  public int compare(Map.Entry<String, Integer> o1, 
  Map.Entry<String, Integer> o2) { 
  return (o2.getValue() - o1.getValue()); 
  } 
  }); 
  //排序后 
  System.out.println("--------------------------排序后:"); 
  for (int i = 0; i < infoIds.size(); i++) { 
  String id = infoIds.get(i).toString(); 
  System.out.println(id); 
 } 

 }
}


文章来源:http://hi.baidu.com/qing419925094/item/08a9971447ede1fcddeecaf6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值