java HashMapで値が存在しない場合のみ値を追加する

java HashMapで値が存在しない場合のみ値を追加する

javaで、HashMapで値が存在しない場合のみ値を追加する手順を記述してます。「putIfAbsent」に対象のkeyとvalueを指定します。

環境

  • OS windows11 home
  • java 19.0.1

手順

HashMapで値が存在しない場合のみ値を追加するには、「putIfAbsent」で可能です。

ハッシュ名.putIfAbsent( key値 , value値 );

実際に使用してみます。

import java.util.HashMap;
import java.util.Map;

public class App {
  public static void main(String[] args) throws Exception {

    Map<String, Integer> m = new HashMap<>();

    m.put("aaa", 10);
    m.put("bbb", 20);
    m.put("ccc", 30);

    // putだと更新されます
    m.put("ccc", 90);

    // 値が存在すれば更新されない
    m.putIfAbsent("bbb", 60);

    // 存在しないんで追加される
    m.putIfAbsent("ddd", 60);

    m.forEach((key, value) -> System.out.println(key + ":" + value));
    // aaa:10
    // ccc:90
    // bbb:20

  }

}

値が存在する場合だけ、追加されていることが確認できます。