Map进行排序 用Comparable

2020-12-20 02:36

阅读:740

标签:set   pareto   ++   collect   for   list()   就是   int   除了   

比较的接口Comparable,提供了一个比较的方法,所有实现该接口的类,都动态的实现了该比较方法。实际上Java中除了比较一个接口外,还提供了一个接口,该接口也是具有比较的功能,但该接口注重的却是比较容器,然后对其排序,这就是Comparator

 

 

Map map = new HashMap();
map.put("c", 3);
map.put("d", 2);
map.put("e", 1);
map.put("b", 2);
// System.out.println(map.get("am"));


List li = new ArrayList();
// System.out.println(map.entrySet());

List> infoIds = new ArrayList>(map.entrySet());
// 排序
// for (int i = 0; i // System.out.println(infoIds.get(i));
// }
//

//Comparator
Collections.sort(infoIds, new Comparator>() {
public int compare(Map.Entry o1, Map.Entry o2) {

return (o2.getValue() - o1.getValue());      //正数是升序,负数是降序    这里是根据map的值进行排序
// return (o2.getKey()).toString().compareTo(o1.getKey());
}
});
// 排序后
for (int i = 0; i String id = infoIds.get(i).toString();
//System.out.println(id);
String[] ss = id.split("=");
System.out.println(ss[0] + ":" + ss[1] + "分钟");
}

 

Map进行排序 用Comparable

标签:set   pareto   ++   collect   for   list()   就是   int   除了   

原文地址:https://www.cnblogs.com/1306962984wei/p/13340889.html


评论


亲,登录后才可以留言!