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
廣告
© . All rights reserved.