Kotlin all用法及代码示例

本文方法及代码示例筛选整理自kotlinlang.org------Kotlin 2.1.20 Released

all 所在包 kotlin.collections.all,其相关用法介绍如下:

用法一

kotlin 复制代码
inline fun <T> Array<out T>.all(
    predicate: (T) -> Boolean
): Boolean

inline fun ByteArray.all(
    predicate: (Byte) -> Boolean
): Boolean

inline fun ShortArray.all(
    predicate: (Short) -> Boolean
): Boolean

inline fun IntArray.all(predicate: (Int) -> Boolean): Boolean

inline fun LongArray.all(
    predicate: (Long) -> Boolean
): Boolean

inline fun FloatArray.all(
    predicate: (Float) -> Boolean
): Boolean

inline fun DoubleArray.all(
    predicate: (Double) -> Boolean
): Boolean

inline fun BooleanArray.all(
    predicate: (Boolean) -> Boolean
): Boolean

inline fun CharArray.all(
    predicate: (Char) -> Boolean
): Boolean

inline fun <T> Iterable<T>.all(
    predicate: (T) -> Boolean
): Boolean

@ExperimentalUnsignedTypes inline fun UIntArray.all(
    predicate: (UInt) -> Boolean
): Boolean

@ExperimentalUnsignedTypes inline fun ULongArray.all(
    predicate: (ULong) -> Boolean
): Boolean

@ExperimentalUnsignedTypes inline fun UByteArray.all(
    predicate: (UByte) -> Boolean
): Boolean

@ExperimentalUnsignedTypes inline fun UShortArray.all(
    predicate: (UShort) -> Boolean
): Boolean
  • 如果所有元素都与给定的 predicate 匹配,则返回 true

用法二

kotlin 复制代码
inline fun <K, V> Map<out K, V>.all(
    predicate: (Entry<K, V>) -> Boolean
): Boolean
  • 如果所有条目都与给定的 predicate 匹配,则返回 true

代码示例:

kotlin 复制代码
import kotlin.test.*

fun main(args: Array<String>) {
    //sampleStart
    val isEven: (Int) -> Boolean = { it % 2 == 0 }
    val zeroToTen = 0..10
    println("zeroToTen.all { isEven(it) } is ${zeroToTen.all { isEven(it) }}") // false
    println("zeroToTen.all(isEven) is ${zeroToTen.all(isEven)}") // false

    val evens = zeroToTen.map { it * 2 }
    println("evens.all { isEven(it) } is ${evens.all { isEven(it) }}") // true

    val emptyList = emptyList<Int>()
    println("emptyList.all { false } is ${emptyList.all { false }}") // true
    //sampleEnd
}

// 输出
zeroToTen.all { isEven(it) } is false
zeroToTen.all(isEven) is false
evens.all { isEven(it) } is true
emptyList.all { false } is true
相关推荐
FinelyYang5 小时前
UniApp + LiveKit:Android 端为什么要用原生做屏幕共享,以及我们怎么落地的
android·uni-app
蓝速科技5 小时前
蓝速科技信创落地:平衡安全合规与项目成本的实战方案
android·运维·人工智能·科技·安全·电脑·鸿蒙
又见情义8 小时前
RK3568 Android 13 SDK 开机自动开启共享热点实践
android
mmsx8 小时前
return false 不是拦截:一次按键触发两个动作的事件冒泡陷阱
android·bug
DU_YULIN9 小时前
Camera HAL ThreadManager概述
android·camera hal
淡淡的香烟10 小时前
Android中的MQTT通信原理解析
android·物联网
淡淡的香烟10 小时前
Android Camera开发详解
android·音视频
mmsx11 小时前
基于 Android 的校园信息管理系统源码
android·java·okhttp
YF021112 小时前
如何进入Android工程模式
android
Kevin Coding13 小时前
JsonConvert:适用于 Android、鸿蒙与 Flutter 的 JSON 转 Model 插件
android·flutter·harmonyos