Java中Map根据键值(key)或者值(value)进行排序实现

以Value进行排序
先声明一个HashMap对象:
Map map = newHashMap();

然后我们可以将Map集合转换成List集合中,而List使用ArrayList来实现如下:

List> list =    newArrayList>(map.entrySet());

最后通过Collections.sort(List l, Comparator c)方法来进行排序,代码如下:

Collections.sort(list, newComparator>() {    publicintcompare(Map.Entry o1,            Map.Entry o2) {        return(o2.getValue() - o1.getValue());    }});

上述代码是讲map中的value按照逆序排序,如果需要按照升序进行排序的话,只需要修改o2.getValue() - o1.getValue()为o1.getValue() - o2.getValue()即可