转自:
Java 如何让HashMap集合按照value进行排序呢?
下文笔者讲述java中HashMap集合按照value排序的方法分享,如下所示:
实现思路: 自定义一个外部比较器,在比较器中设置其比较规则
例:
package com.java265.other;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class Test {
public static void main(String[] args) throws Exception {
Map m = new HashMap<>();
m.put("java", 8);
m.put("c", 33);
m.put("python", 44);
m.put("cSharp", 11);
System.out.println(m);
System.out.println("------------");
List> list = new ArrayList>(m.entrySet());
Collections.sort(list, new Comparator>() {
public int compare(Map.Entry o1, Map.Entry o2) {
return (o2.getValue() - o1.getValue());
}
});
System.out.println(list);
}
}
------运行以上代码,将输出以下信息-----
{python=44, java=8, c=33, cSharp=11}
------------
[python=44, c=33, cSharp=11, java=8]