### Question:
MapUtils { public static <K, V extends Comparable<V>> K keyOfHighestValue(Map<K, V> map) { K bestKey = null; V bestValue = null; for (Entry<K, V> entry : map.entrySet()) { if (bestValue == null || entry.getValue().compareTo(bestValue) > 0) { bestKey = entry.getKey(); bestValue = entry.getValue(); } } return bestKey; }  static K keyOfHighestValue(Map<K, V> map); static LinkedHashMap<K, V> keysOfHighestValues(
            Map<K, V> map, int topN); static LinkedHashMap<K, V> keysOfHighestValues(
            Map<K, V> map, int topN, final boolean reverse); static Map<K, V> sortByValue(
            Map<K, V> map); static Map<K, V> sortByValue(
            Map<K, V> map, final boolean reverse);  }### Answer:
@Test public void testKeyOfHighestValue() { Map<String, Double> mapp = new HashMap<String, Double>(); mapp.put("s3.5", 3.5); mapp.put("s1.5", 1.5); mapp.put("s0.5", 0.5); mapp.put("s0.6", 0.6); mapp.put("2s3.5", 3.5); mapp.put("s2.6", 2.6); assertEquals("2s3.5", MapUtils.keyOfHighestValue(mapp)); }