[更新] 正如其他答案和评论者所指出的,从 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; } } 原文由 maerics 发布,翻译遵循 CC BY-SA 3.0 许可协议
[更新]
正如其他答案和评论者所指出的,从 Java 8 开始,您可以简单地调用
Map#getOrDefault(...)
。[原来的]
没有 Map 实现可以完全做到这一点,但通过扩展 HashMap 来实现您自己的将是微不足道的: