KotlinでMapにキーが存在しない場合のみ要素を追加する方法について記載します。
キーが存在しない場合のみ要素を追加する方法
キーが存在しない場合のみ要素を追加するには、getOrPut 関数を使用します。
また、getOrPut 関数は戻り値として、指定したキーの値を返します。
書式
変数.getOrPut( キー ){ バリュー }
戻り値
キーが存在する場合:指定したキーの値を返す(上書きしない)
キーが存在しない場合:追加したキーの値を返す
キーが存在しない場合:追加したキーの値を返す
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
val mapStr = mutableMapOf("key1" to "value1") // key2が存在しないので追加できる val val1 = mapStr.getOrPut("key2" ){ "value2" } println( mapStr ) // {key1=value1, key2=value2} println( val1 ) // value2 // key2は、すでに存在しているので値を上書きしない val val2 = mapStr.getOrPut("key2" ){ "override value2" } println( mapStr ) // {key1=value1, key2=value2} println( val2 ) // value2 |