先上代码:
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
HashMap<String,Integer> map=new HashMap<>();
map.put("zhangsan",1);
map.put("lisu",2);
map.put("wangwu",3);
List<Map.Entry<String,Integer>> list=new ArrayList<>(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 o1.getValue()-o2.getValue();
}
});
}
}
具体步骤:
- 用list存储视图。
- 将list传入sort方法并重写比较器
注意数据类型也是要视图的形式。
如果这里的Key的类型也是Integer,重写的时候只需要把getValue()换成getKey()就能实现对键排序。