どうも、ちょげ(@chogetarou)です。
Map(マップ)に特定のキー(Key)が存在するかどうか判定する方法を紹介します。
方法

Map(マップ)のキー(key)の存在チェックをする方法は、2つあります。
containsKey()
1つは、containsKey()を使う方法です。
まず、Map(マップ)からcontainsKey()を呼び出します。
そして、containsKey()の引数にキー(Key)を指定します。
map.containsKey(key)
上記のcontainsKey()は、呼び出したMap内に引数のキーが存在すれば「true」、存在しなれば「false」を返します。
使用例
fun main() {
val numbers = mapOf("one" to 1, "two" to 2, "three" to 3, "four" to 4, "five" to 5 )
println(numbers.containsKey("two"));
println(numbers.containsKey("six"));
println(numbers.containsKey("four"));
}
出力:
true
false
true
any()
もう1つは、any()を使う方法です。
まず、Mapのkeysプロパティにアクセスします。
keysプロパティからany()を呼び出します。
そして、any()のクロージャーで、キーの条件式を返します。
クロージャー内では、Mapのキーをitで取得します。
//クロージャー内では、キーをitで取得
map.keys.any { 条件式 }
上記のany()は、呼び出したMap内に条件式を満たすキーが存在すれば「true」、存在しなれば「false」を返します。
使用例
fun main() {
val numbers = mapOf("one" to 1, "two" to 2, "three" to 3, "four" to 4, "five" to 5 )
println(numbers.keys.any { it == "two" });
println(numbers.keys.any { it == "six" });
println(numbers.keys.any { it.length > 3 });
}
出力:
true
false
true
まとめ
Map(マップ)のキー(key)の存在チェックをする方法は、次の2つです。
- containsKey()を使う方法
map.containsKey(key)
- any()を使う方法
map.keys.any { 条件式 }
コメント