1. ホーム
  2. java

[解決済み] HashMapで見つからないキーにデフォルト値を返す?

2022-04-22 09:06:06

質問

を持つことは可能でしょうか? HashMap は、セット内で見つからないすべてのキーに対してデフォルト値を返しますか?

どのように解決するのですか?

[更新】のお知らせ]

他の回答やコメントで指摘されているように、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;
  }
}