kotlin mutableMapにラムダ式で1つでも条件を満たしているかを判定する

kotlin mutableMapにラムダ式で1つでも条件を満たしているかを判定する

kotlinで、mutableMapにラムダ式で1つでも条件を満たしているかを判定する手順を記述してます。

環境

  • OS windows11 home
  • java 17.0.2
  • kotlin 1.6.10-release-923

手順

ラムダ式で1つでも条件を満たしているかを判定するには、「any」で可能です。

map名.any { 条件式 }

実際に、判定してみます。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    var flg = m.any{ it.value > 2 }   

    println( flg ) // true
    
    flg = m.any{ it.value > 0 } 

    println( flg ) // true

    flg = m.any{ it.value > 3 } 

    println( flg ) // false

}

判定されていることが確認できます。戻り値は「Boolean型」になります。

全て満たしているかを判定する場合は「all」を使用します。

fun main() {

    val m = mutableMapOf('a' to 1, 'b' to 2, 'c' to 3)

    var flg = m.all{ it.value > 2 }   

    println( flg ) // false
    
    flg = m.all{ it.value > 0 } 

    println( flg ) //true

}