Kotlin 数组 - first() 函数



Kotlin 数组的 first() 函数用于返回数组中第一个匹配给定谓词或条件的元素。

此函数接受一个参数(谓词),该参数不需要每次都传递。您可以选择是否提供条件。例如,在 ArrayOf(2,4,5,6).first() 函数中返回数组的第一个元素(即 2)。

异常

此函数抛出一个异常:

  • NoSuchElementException:如果在数组中找不到这样的元素,则此函数会抛出此异常。

语法

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

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

参数

此函数接受谓词作为参数。谓词表示一个返回布尔值的条件。

返回值

此函数返回数组的一个元素。否则,如果找不到这样的元素,则抛出异常。

示例 1

以下是一个基本的示例,用于演示 first() 函数的使用:

fun main(args: Array<String>) {
   val number: Array<Int> = arrayOf(1, 2, 3, 4, 5)
   val first_elem = number.first()
   println("first element if an array: $first_elem")
}

输出

执行上述代码后,我们将得到以下结果:

first element if an array: 1

示例 2

现在,让我们来看另一个示例。在这里,我们使用 first() 函数返回第一个匹配给定谓词的元素:

fun main(args: Array<String>) {
   val number: Array<Int> = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
   val elem = number.first{it%2==0}
   println("first element divisible by 2: $elem")
}

输出

执行上述代码后,我们将得到以下输出:

first element divisible by 2: 2

示例 3

如果元素不满足谓词,则以下示例会抛出异常:

fun main(args: Array<String>) {
   val strings: Array<String> = arrayOf("hii", "Hello", "tutorix", "tutorialspoint")
   val elem = strings.first{it.length<1}
   println("first element 5: $elem")
}

输出

上述代码产生以下输出:

Exception in thread "main" java.util.NoSuchElementException: Array contains no element matching the predicate.
kotlin_arrays.htm
广告