http://hupy.iteye.com/blog/871085
2 針對java.util.Map的Value做排序
http://www.360doc.com/content/08/0818/21/59141_1554099.shtml
3 java Map 按value排序
http://hi.baidu.com/anglee2010/blog/item/54796c0ff342ecea37d12260.html
4 Map 按值排序 (Map sort by value) - Java
http://han.guokai.blog.163.com/blog/static/136718271201001010228136/
实际要求,按Map中的value排序,value类型为List
/**
* @param h
* @return
* 实现对map按照value升序排序
*/
@SuppressWarnings("unchecked")
public static ArrayList getSortedHashtableByValue(Map h) {
ArrayList> l = new ArrayList>(h.entrySet());
Collections.sort(l, new Comparator>() {
public int compare(Map.Entry o1, Map.Entry o2) {
return (o2.getValue().size() - o1.getValue().size());
}
});
return l;
}
测试代码
Map maps = new java.util.TreeMap();
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> entitys = getSortedHashtableByValue(maps);
for(Map.Entry entity : entitys){
System.out.println(entity.getKey() + " = " + entity.getValue().size());
}
分享到:
2011-07-28 10:50
浏览 17492
评论