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
廣告