package demo1;


import java.util.Comparator;

import java.util.HashMap;

import java.util.Map;

import java.util.TreeMap;


public class Testing {

public static void main(String[] args) {

HashMap<String, Double> map = new HashMap<>();

ValueComparator vc = new ValueComparator(map);

TreeMap<String, Double> sorted_map = new TreeMap<>(vc);

map.put("A", 432.3);

map.put("B", 44.3);

map.put("C", 46.3);

map.put("D", 43.3);

sorted_map.putAll(map);

System.out.println(map);

System.out.println(sorted_map);

}

}


class ValueComparator implements Comparator<String>{

private Map<String, Double> base;

public ValueComparator(Map<String, Double> base) {

this.base = base;

}


@Override

public int compare(String a, String b) {

if (base.get(a) >= base.get(b)) {

return 1;

}

return -1;

}

}