Kotlin 数组 - any() 函数



Kotlin 数组 any() 函数检查数组中是否存在至少一个元素。如果数组包含元素,则返回 true。如果数组中至少有一个元素与特定谓词匹配,则也返回 true。否则,返回 false。

此函数的一个重要用例是根据给定的谓词检查数组是否包含元素。

语法

以下是 Kotlin 数组 any() 函数的语法:

fun <T> Array<out T>.any(): Boolean
or,
inline fun <T> Array<out T>.any(
   predicate: (T) -> Boolean
): Boolean

参数

此函数接受一个 **谓词** 作为参数,这是一个 lambda 函数,它定义了一些条件。

返回值

此函数返回一个布尔值:如果数组中包含元素或至少有一个元素满足谓词,则返回 true;否则返回 false。

示例 1

在下面的基本示例中,我们使用 any() 函数来检查数组是否至少包含一个元素:

fun main(args: Array<String>) {
   var array = Array(10) { i -> i}
   var result = array.any()
   if (result == true)
      println("The array is not empty")
   else
      println("The array is empty")
}

输出

以下是输出:

The array is not empty

示例 2

现在,让我们看另一个示例。在这里,我们使用 any() 函数来检查根据给定谓词数组中是否存在至少一个元素:

fun main(args: Array<String>) {
   var array = Array(10) { i ->
      if(i<3) {'c'}
      else if(i<5) {"Hi"}
      else {5}
   }
   var result = array.any() {
       i -> i is Int
   }
   if (result == true)
      println("A value in the array is of type integer")
   else
      println("None of values in the array is of type integer")
}

输出

以下是输出:

A value in the array is of type integer

示例 3

下面的示例根据给定的谓词显示布尔值 true(如果数组至少包含一个元素);否则为 false:

fun main(args: Array<String>) {
   val is_Even: (Int) -> Boolean = { it % 2 == 0 }
   val zero_To_Ten = 0..10
   
   println("zero_To_Ten.any { is_Even(it) } is ${zero_To_Ten.any { is_Even(it) }}")
   println("zero_To_Ten.any(isEven) is ${zero_To_Ten.any(is_Even)}") 
   
   val empty_List = emptyList<Int>()
   println("empty_List.any { true } is ${empty_List.any { true }}") 
}

输出

以下是输出:

zero_To_Ten.any { is_Even(it) } is true
zero_To_Ten.any(isEven) is true
empty_List.any { true } is false
kotlin_arrays.htm
广告