Просто напишите свою реализацию вставки:
public class MyCustomMap extends HashMap<String, Integer> {
@Override
public Integer put(String key, Integer value) {
Integer oldValue = get(key);
if (oldValue == null || oldValue < value) {
return super.put(key, value);
}
return null;
}
}
Map<String, Integer> maps = new MyCustomMap();
maps.put("A", 5);
maps.put("B", 2);
maps.put("A", 8);
maps.put("B", 7);
maps.put("A", 3);
maps.put("B", 3);
System.out.println(maps.get("A"));
System.out.println(maps.get("B"));