J2EE HashMap利用Comparator完成排序_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1703 | 回复: 0   主题: J2EE HashMap利用Comparator完成排序        下一篇 
    本主题由 koei123 于 2015-7-14 11:08:56 移动
fendy
注册用户
等级:新兵
经验:51
发帖:58
精华:0
注册:2011-7-21
状态:离线
发送短消息息给fendy 加好友    发送短消息息给fendy 发消息
发表于: IP:您无权察看 2015-6-12 15:41:39 | [全部帖] [楼主帖] 楼主

 [Java]HashMap的两种排序方式Map<String, Integer> map =new HashMap<String, Integer>();
map.put("d", 2);
map.put("c", 1);
map.put("b", 1);
map.put("a", 3);
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);
}
//d 2
//c 1
//b 1
//a 3
//排序
Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {
      publicint compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
            //return (o2.getValue() - o1.getValue());
            return (o1.getKey()).toString().compareTo(o2.getKey());
      }
});
//排序后
for (int i =0; i < infoIds.size(); i++) {
      String id = infoIds.get(i).toString();
      System.out.println(id);
}
//根据key排序
//a 3
//b 1
//c 1
//d 2
//根据value排序
//a 3
//d 2
//b 1
//c 1


--转自 北京联动北方科技有限公司



该贴由koei123转至本版2015-7-14 11:08:55



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论