Here you can find the source of valueSortedMap(Map
public static <K, V> Map<K, V> valueSortedMap(Map<K, V> map, Comparator<Entry<K, V>> comparator)
//package com.java2s; //License from project: Apache License import java.util.Comparator; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeSet; public class Main { public static <K, V> Map<K, V> valueSortedMap(Map<K, V> map, Comparator<Entry<K, V>> comparator) { Set<Entry<K, V>> valueSortedEntries = new TreeSet<Entry<K, V>>( comparator);/*w w w . j ava 2 s.c o m*/ for (Entry<K, V> entry : map.entrySet()) { valueSortedEntries.add(entry); } Map<K, V> sortedMap = new LinkedHashMap<K, V>(map.size()); for (Entry<K, V> entry : valueSortedEntries) { sortedMap.put(entry.getKey(), entry.getValue()); } return sortedMap; } }