💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java 程序:检查数组是否包含给定值 > 原文: [https://www.programiz.com/java-programming/examples/array-contains-value](https://www.programiz.com/java-programming/examples/array-contains-value) #### 在此程序中,您将学习检查数组是否包含 Java 中的给定值。 ## 示例 1:检查`Int`数组是否包含给定值 ```java public class Contains { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; int toFind = 3; boolean found = false; for (int n : num) { if (n == toFind) { found = true; break; } } if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); } } ``` 运行该程序时,输出为: ```java 3 is found. ``` 在上面的程序中,我们有一个整数数组,存储在变量`num`中。 同样,要找到的编号存储在`toFind`中。 现在,我们使用`foreach`循环遍历`num`的所有元素,并分别检查`toFind`是否等于`n`。 如果是,我们将`found`设置为`true`,然后退出循环。 如果不是,我们转到下一个迭代。 * * * ## 示例 2:使用`Stream`检查数组是否包含给定值 ```java import java.util.stream.IntStream; public class Contains { public static void main(String[] args) { int[] num = {1, 2, 3, 4, 5}; int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); } } ``` 运行该程序时,输出为: ```java 7 is not found. ``` 在上面的程序中,我们没有使用`foreach`循环,而是将数组转换为`IntStream`并使用其`anyMatch()`方法。 `anyMatch()`方法采用返回布尔值的谓词,表达式或函数。 在我们的情况下,谓词将流中的每个元素`n`与`toFind`进行比较,然后返回`true`或`false`。 如果元素`n`中的任何一个返回`true`,则将`toFind`设置为`true`。 * * * ## 示例 3:检查数组是否包含非原始类型的给定值 ```java import java.util.Arrays; public class Contains { public static void main(String[] args) { String[] strings = {"One", "Two", "Three", "Four", "Five"}; String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); } } ``` 运行该程序时,输出为: ```java Four is found. ``` 在上面的程序中,我们使用了非原始数据类型`String`,并使用`Arrays`的`stream()`方法首先将其转换为流,然后使用`anyMatch()`检查数组是否包含给定值`toFind`。