在此程序中,您将学习在Kotlin中检查数组是否包含给定值。
fun main(args: Array<String>) {
    val num = intArrayOf(1, 2, 3, 4, 5)
    val toFind = 3
    var found = false
    for (n in num) {
        if (n == toFind) {
            found = true
            break
        }
    }
    if (found)
        println("$toFind 找到。")
    else
        println("$toFind 未找到。")
}运行该程序时,输出为:
3 找到。
在上面的程序中,我们有一个整数数组存储在变量num中,同样,要找到的数字也存储在toFind中。
现在,我们使用for-in循环来遍历num的所有元素,并逐个检查是否要查找是否等于n。
如果是,我们将found设置为true并退出循环。如果没有,我们移到下一个迭代。
import java.util.stream.IntStream
fun main(args: Array<String>) {
    val num = intArrayOf(1, 2, 3, 4, 5)
    val toFind = 7
    val found = IntStream.of(*num).anyMatch { n -> n == toFind }
    if (found)
        println("$toFind 找到.")
    else
        println("$toFind 未找到.")
}运行该程序时,输出为:
7 未找到.
在上面的程序中,我们没有使用foreach循环,而是将数组转换为IntStream并使用其anyMatch()方法。
返回一个boolean表达式或anyMatch()函数。在我们的实例中,谓词将流中的每个元素n与toFind进行比较,并返回true或false。
如果任何元素n返回true,则found也被设置为true。
import java.util.Arrays
fun main(args: Array<String>) {
    val strings = arrayOf("One", "Two", "Three", "Four", "Five")
    val toFind = "Four"
    val found = Arrays.stream(strings).anyMatch { t -> t == toFind }
    if (found)
        println("$toFind 找到.")
    else
        println("$toFind 未找到.")
}运行该程序时,输出为:
Four 找到.
在上面的程序中,我们使用了一个非原始数据类型String,并使用Arrays的stream()方法首先将其转换为stream,anyMatch()检查array是否包含给定的toFind值。
以下是等效的Java代码:检查数组是否包含给定值的Java程序。