[Kotlin]Map(マップ)の特定のキーを削除するには?

Kotlin

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

Map(マップ)の特定のキー(Key)を削除する方法を紹介します。

スポンサーリンク

方法

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

Map(マップ)の特定のキー(Key)を削除する方法は、3つあります。

remove()

1つ目は、remove()を使う方法です。

まず、Map(マップ)からremove()を呼び出します。

そして、remove()の引数に削除するキーを指定します。

//key=削除するキー
map.remove(key);

上記のremove()は、呼び出したMapから引数のキーを削除します。

remove()は、MutableMapでしか使えません。

使用例

fun main() {
    val numbers = mutableMapOf("one" to 1, "two" to 2, "three" to 3, "four" to 4, "five" to 5 );
    
    numbers.remove("two");
    numbers.remove("four");
    
    println(numbers);
}
出力:
{one=1, three=3, five=5}

filterKeys()

2つ目は、filterKeys()を使う方法です。

まず、Map(マップ)からfilterKeys{}を呼び出します。

そして、filterKeys{}のクロージャーで条件式を返します。

filterKeys{}のクロージャーでは、Mapのキーを「it」で取得します。

val result = map.filterKeys { 条件式 };

上記のfilterKeys()は、呼び出したMapから条件式でtrueを返したキーを削除したMapを生成します。

使用例

fun main() {
    val numbers = mutableMapOf("one" to 1, "two" to 2, "three" to 3, "four" to 4, "five" to 5 );
    
    val result = numbers.filterKeys { it.length == 4 };
    
    println(result);
}
出力:
{four=4, five=5}

removeIf()

3つ目は、removeIf()を使う方法です。

まず、Mapのkeysプロパティにアクセスします。

次に、MapからremoveIf{}を呼び出します。

そして、removeIf{}のクロージャーで条件式を返します。

removeIf{}のクロージャーでは、Mapのキーを「it」で取得します。

map.keys.removeIf { 条件式 };

上記のremoveIf()は、条件式でtrueを返したキーをMapから削除します。

使用例

fun main() {
    val numbers = mutableMapOf("one" to 1, "two" to 2, "three" to 3, "four" to 4, "five" to 5 );
    
    numbers.keys.removeIf { it.length == 4 };
    
    println(numbers);
}
出力:
{one=1, two=2, three=3}

まとめ

Map(マップ)の特定のキー(Key)を削除する方法は、次の3つです。

  • remove()を使う方法
    map.remove(key);
  • filterKeys()を使う方法
    val result = map.filterKeys { 条件式 };
  • removeIf()を使う方法
    map.keys.removeIf { 条件式 };

コメント

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