如何给一个map按照key对应的value值排序
直接上代码:
public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<String, Integer>(); for(int i=0;i<10;i++) {
//添加key,并随机添加key对应value的integer值 map.put("aa" + i, (int)(Math.random()*1000)); } List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
//升序排列逻辑 Collections.sort(list,new Comparator<Map.Entry<String,Integer>>() { public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { return o1.getValue().compareTo(o2.getValue()); } });
//打印输出结果 for(Map.Entry<String,Integer> mapping:list){ System.out.println(mapping.getKey() + "---:---" + mapping.getValue()); } }
输出结果如下:
aa7---:---7 aa5---:---27 aa1---:---77 aa9---:---140 aa0---:---194 aa4---:---445 aa3---:---531 aa2---:---566 aa8---:---631 aa6---:---992