Java 怎么通过值升序排序 Map

2019年5月31日19:50:11Java 怎么通过值升序排序 Map已关闭评论 493 594字阅读1分58秒

1.简介

Java 怎么通过值升序排序 Map?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */
public class SortByValueInMapAscending {
	public static <K, V extends Comparable<? super V>> Map<K, V> sortByValueAscending(Map<K, V> map) {
		return sortByValue(map, (o1, o2) -> o1.getValue().compareTo(o2.getValue()));
	}

	private static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(
			Map<K, V> map, Comparator<Map.Entry<K, V>> comparator) {

		List<Map.Entry<K, V>> list = new LinkedList<>(map.entrySet());
		Collections.sort(list, comparator);

		Map<K, V> result = new LinkedHashMap<>();
		for (Map.Entry<K, V> entry : list) {
			result.put(entry.getKey(), entry.getValue());
		}

		return result;
	}
}
编程十万个怎么办