Kotlin 数组 - all() 函数



Kotlin 数组的 all() 函数用于检查所有元素是否满足给定的谓词。如果满足,则返回 true;否则,返回 false。

如果数组不包含任何元素,则该函数返回 true,因为其中没有不匹配谓词的元素。

此函数的一个重要用例是检查数组是否与其包含的对象类型一致。

语法

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

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

参数

此函数接受一个 **谓词** 作为参数,该谓词是一个 lambda 函数,它接受类型为 T 的元素。

返回值

此函数返回一个布尔值:如果数组中的所有元素都满足谓词,则返回 true;否则,返回 false。

示例 1

以下是一个基本示例,我们使用 all() 函数来检查所有元素是否为同一类型:

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

输出

以下是输出:

The array is of type integer

示例 2

现在,让我们看另一个示例。在这里,我们使用 all() 函数来检查所有元素是否为正数或偶数:

fun main() {
   val numbers = arrayOf(1, 2, 3, 4, 5)

   // Check if all elements in the array are greater than 0
   val areAllPositive = numbers.all { it > 0 }
   println("Are all numbers positive? $areAllPositive")

   // Check if all elements in the array are even
   val areAllEven = numbers.all { it % 2 == 0 }
   println("Are all numbers even? $areAllEven")
}

输出

以下是输出:

Are all numbers positive? true
Are all numbers even? false

示例 3

下面的示例检查字符串数组中每个元素的长度是否至少为 1:

fun main(args: Array<String>) {
   var array = arrayOf("Hi", "", "Sample", " Bye")

   var result = array.all {
      i -> i.length >= 1
   }
   if (result == true){
      println("All the values in the array have their string length of more than or equal to 1")
   }        
   else{
     println("All the values in the array don't have their string length of more than or equal to 1")
   }        
}

输出

以下是输出:

All the values in the array don't have their string length of more than or equal to 1
kotlin_arrays.htm
广告