fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. class Ideone {
  8.  
  9. public static void main(String[] args) throws Exception {
  10.  
  11. HashMap<String ,Double> map = new HashMap<String ,Double>();
  12. ValueComparator bvc = new ValueComparator(map);
  13. TreeMap<String, Double> sortedMap = new TreeMap<String ,Double>(bvc);
  14.  
  15. map.put("A",99.5);
  16. map.put("B",67.4);
  17. map.put("C",67.4);
  18. map.put("D",67.3);
  19.  
  20. System.out.println("unsorted map: "+map);
  21.  
  22. sortedMap.putAll(map);
  23.  
  24. System.out.println("sorted map: "+ sortedMap);
  25.  
  26. System.out.println("Highest value: " + sortedMap.firstEntry().getValue().toString());
  27.  
  28. System.out.println("Lowest value: "+ sortedMap.lastEntry().getValue().toString());
  29. }
  30.  
  31. }
  32.  
  33. class ValueComparator implements Comparator<String> {
  34.  
  35. private Map<String, Double> base;
  36.  
  37. public ValueComparator(Map<String, Double> base) {
  38. this.base = base;
  39. }
  40.  
  41. public int compare(String a, String b) {
  42. if (base.get(a) >= base.get(b)) {
  43. return -1;
  44. } else {
  45. return 1;
  46. }
  47. }
  48. }
  49.  
Success #stdin #stdout 0.07s 380224KB
stdin
Standard input is empty
stdout
unsorted map: {D=67.3, A=99.5, B=67.4, C=67.4}
sorted map: {A=99.5, C=67.4, B=67.4, D=67.3}
Highest value: 99.5
Lowest value: 67.3