【Kotlin/Android】any/none/allの使い方と違い!配列(list)内の条件にマッチ

この記事からわかること
- Kotlin/Android Studioで配列(リスト)から条件にマッチする要素があるかどうかチェックする方法
- any/none/allの違いとの使い方
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
Kotlinでコレクションやシーケンスに対して条件をチェックするための関数の使い方と違いをまとめていきます。
any:1つの要素が条件を満たすかどうか
any
はコレクションの中に少なくとも1つの要素が条件を満たすかどうかをチェックするメソッドです。条件を満たす要素が1つでもあればtrue
を返し、そうでなければfalse
を返します。
val numbers = listOf(1, 2, 3, 4, 5)
// 2以上の要素が存在するかチェック
val result = numbers.any { it > 2 }
println(result) // true
none:条件を満たす要素が一つもないかどうか
none
はコレクションの中に条件を満たす要素が一つもないかどうかをチェックするメソッドです。条件を満たす要素が1つもなければtrue
を返し、そうでなければfalse
を返します。
val numbers = listOf(1, 2, 3, 4, 5)
// 6以上の要素が存在しないかチェック
val result = numbers.none { it > 5 }
println(result) // true
all:すべての要素が条件を満たすかどうか
all
はコレクションのすべての要素が条件を満たすかどうかをチェックするメソッドです。すべての要素が条件を満たせばtrue
を返し、そうでなければfalse
を返します。
val numbers = listOf(1, 2, 3, 4, 5)
// 全ての要素が0以上かチェック
val result = numbers.all { it >= 0 }
println(result) // true
違いのまとめ
- any:少なくとも1つの要素が条件を満たせばtrue
- none:1つも要素が条件を満たさなければtrue
- all:すべての要素が条件を満たせばtrue
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。