/** * Map value降序排序 * @param map * @param <K> * @param <V> * @return LinkedHashMap */ public static <K, V extends Comparable<? super V>> Map<K, V> sortByValueAscending(Map<K, V> map){ List<Map.Entry<K, V>> list = new LinkedList<Map.Entry<K, V>>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<K, V>>(){ @Override public int compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2){ int compare = (o1.getValue()).compareTo(o2.getValue()); return -compare; } }); Map<K, V> result = new LinkedHashMap<K, V>(); for (Map.Entry<K, V> entry : list) { result.put(entry.getKey(), entry.getValue()); } return result; }
ps: