按照key排序、将HashMap中的元素装进TreeMap中即可、TreeMap自带排序功能。直接上代码
按照value排序、需要使用ArrayList来重写compare方法来实现
import java.util.*;
public class Test {
@org.junit.Test
public void test01(){
Map<String,Integer> map = new HashMap<>();
map.put("G", 10);
map.put("B", 19);
map.put("C", 13);
map.put("D", 18);
map.put("E", 12);
//按照 value 排序
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(
map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1,
Map.Entry<String, Integer> o2) {
return o2.getValue() - o1.getValue();
}
});
System.out.println(list);//[B=19, D=18, C=13, E=12, G=10]
//按照 key 排序
TreeMap<String, Integer> treeMap = new TreeMap<String, Integer>(map);
System.out.println(treeMap);//{B=19, C=13, D=18, E=12, G=10}
}
}