/** * * @param map HashMap<String, Integer> 按照值進行排序 * @return:返回排序後的Map */ public static HashMap<String, Integer> hashMapSort(HashMap<String, Integer> map){ //一、按順序保存map中的元素,使用LinkedList類型 List<Entry<String, Integer>> keyList = new LinkedList<Entry<String, Integer>>(map.entrySet()); //二、按照自定義的規則排序 Collections.sort(keyList, new Comparator<Entry<String, Integer>>() { @Override public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { if(o2.getValue().compareTo(o1.getValue())>0){ return 1; }else if(o2.getValue().compareTo(o1.getValue())<0){ return -1; } else { return 0; } } }); //三、將LinkedList按照排序好的結果,存入到HashMap中 HashMap<String,Integer> result=new LinkedHashMap<>(); for(Entry<String, Integer> entry:keyList){ result.put(entry.getKey(),entry.getValue()); } return result; }