public class MapUtils {
// Map的value值降序排序
public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, V> map) {
List<Map.Entry<K, V>> list = new ArrayList<>(map.entrySet());
list.sort((o1, o2) -> {
int compare = (o1.getValue()).compareTo(o2.getValue());
return -compare;
});
Map<K, V> returnMap = new LinkedHashMap<>();
for (Map.Entry<K, V> entry : list) {
returnMap.put(entry.getKey(), entry.getValue());
}
return returnMap;
}
// Map的value值升序排序
public static <K, V extends Comparable<? super V>> Map<K, V> sortAscend(Map<K, V> map) {
List<Map.Entry<K, V>> list = new ArrayList<>(map.entrySet());
list.sort(Map.Entry.comparingByValue());
Map<K, V> returnMap = new LinkedHashMap<>();
for (Map.Entry<K, V> entry : list) {
returnMap.put(entry.getKey(), entry.getValue());
}
return returnMap;
}
}文章来源:https://www.toymoban.com/news/detail-681436.html
因为结果要求是有序的,所以返回的类型必须是LinkedHashMap文章来源地址https://www.toymoban.com/news/detail-681436.html
到了这里,关于对HashMap的value做升序、降序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!