[Kotlin]Map(マップ)のキーの存在チェックをするには?

Kotlin

どうも、ちょげ(@chogetarou)です。

Map(マップ)に特定のキー(Key)が存在するかどうか判定する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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 { 条件式 }

コメント

タイトルとURLをコピーしました