Java之Map(按value排序)

参考资料
1 java Map排序(按key和按value)
[url]http://hupy.iteye.com/blog/871085[/url]
2 針對java.util.Map的Value做排序
[url]http://www.360doc.com/content/08/0818/21/59141_1554099.shtml[/url]
3 java Map 按value排序
[url]http://hi.baidu.com/anglee2010/blog/item/54796c0ff342ecea37d12260.html[/url]
4 Map 按值排序 (Map sort by value) - Java
[url]http://han.guokai.blog.163.com/blog/static/136718271201001010228136/[/url]
[color=red]实际要求,按Map中的value排序,value类型为List[/color]
/** 
* @param h
* @return
* 实现对map按照value升序排序
*/
@SuppressWarnings("unchecked")
public static ArrayList getSortedHashtableByValue(Map h) {
ArrayList<Map.Entry<String,List>> l = new ArrayList<Map.Entry<String,List>>(h.entrySet());
Collections.sort(l, new Comparator<Map.Entry<String, List>>() {
public int compare(Map.Entry<String, List> o1, Map.Entry<String, List> o2) {
return (o2.getValue().size() - o1.getValue().size());
}
});
return l;
}


测试代码

Map<String,Object> maps = new java.util.TreeMap<String, Object>();
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("d");
list.add("d");
maps.put("1",list);

list = new ArrayList();
list.add("a");
list.add("b");
maps.put("2",list);

list = new ArrayList();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
list.add("a");
list.add("b");
maps.put("3",list);

list = new ArrayList();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
list.add("a");
list.add("b");
list.add("a");
list.add("b");
maps.put("4",list);

ArrayList<Map.Entry<String,List>> entitys = getSortedHashtableByValue(maps);

for(Map.Entry<String,List> entity : entitys){
System.out.println(entity.getKey() + " = " + entity.getValue().size());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值