Вы можете просто создать новый класс, который наследует HashMap, и добавить метод getDefault.
Вот пример кода:
public class DefaultHashMap<K,V> extends HashMap<K,V> {
public V getDefault(K key, V defaultValue) {
if (containsKey(key)) {
return get(key);
}
return defaultValue;
}
}
Я думаю, что вам не следует переопределять метод get (K key) в вашей реализации из-за причин, указанных Эдом Стаубом в его комментарии, и потому что вы нарушите контракт интерфейса Map (это потенциально может привести к некоторым трудно обнаруживаемым ошибкам).