[更新]
正如其他答案和评论者所指出的那样,从Java
8开始,您可以简单地调用
Map#getOrDefault(...)。
[原版的]
没有Map实现可以完全做到这一点,但是通过扩展HashMap来实现自己的实现很简单:
public class DefaultHashMap<K,V> extends HashMap<K,V> { protected V defaultValue; public DefaultHashMap(V defaultValue) { this.defaultValue = defaultValue; } @Override public V get(Object k) { return containsKey(k) ? super.get(k) : defaultValue; }}


