ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Kotlin 程序:检查数组是否包含给定值 > 原文: [https://www.programiz.com/kotlin-programming/examples/array-contains-value](https://www.programiz.com/kotlin-programming/examples/array-contains-value) #### 在此程序中,您将学习如何在 Kotlin 中检查数组是否包含给定值。 ## 示例 1:检查`Int`数组是否包含给定值 ```kt 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 is found.") else println("$toFind is not found.") } ``` 运行该程序时,输出为: ```kt 3 is found. ``` 在上面的程序中,我们有一个整数数组,存储在变量`num`中。 同样,要找到的编号存储在`toFind`。 现在,我们使用`for-in`循环遍历`num`的所有元素,并分别检查`toFind`是否等于`n`。 如果是,我们将`found`设置为`true`,然后退出循环。 如果不是,我们转到下一个迭代。 * * * ## 示例 2:使用`Stream`检查数组是否包含给定值 ```kt 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 is found.") else println("$toFind is not found.") } ``` 运行该程序时,输出为: ```kt 7 is not found. ``` 在上面的程序中,我们没有使用`foreach`循环,而是将数组转换为`IntStream`并使用其`anyMatch()`方法。 `anyMatch()`方法采用返回布尔值的谓词,表达式或函数。 在我们的情况下,谓词将流中的每个元素`n`与`toFind`进行比较,然后返回`true`或`false`。 如果元素`n`中的任何一个返回`true`,则将`found`设置为`true`。 * * * ## 示例 3:检查数组是否包含非原始类型的给定值 ```kt 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 is found.") else println("$toFind is not found.") } ``` 运行该程序时,输出为: ```kt Four is found. ``` 在上面的程序中,我们使用了非原始数据类型`String`,并使用`Arrays`的`stream()`方法首先将其转换为流,然后使用`anyMatch()`检查数组是否包含给定值`toFind`。 以下是等效的 Java 代码:[检查数组是否包含给定值的 Java 程序](/java-programming/examples/array-contains-value "Java program to check if array contains a given value")。