HashMap 返回未找到的键的默认值?
2022-08-31 06:44:38
是否可以为集合中找不到的所有键返回默认值?HashMap
[更新]
正如其他答案和评论者所指出的,从Java 8开始,你可以简单地调用Map#getOrDefault(...)。
。
[原文]
没有Map实现可以完全做到这一点,但是通过扩展HashMap来实现自己的Map实现是微不足道的:
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;
}
}