# 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.");
    }
}
```

When you run the program, the output will be:

```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.");
    }
}
```

When you run the program, the output will be:

```java
Four is found.
```

在上面的程序中，我们使用了非原始数据类型`String`，并使用`Arrays`的`stream()`方法首先将其转换为流，然后使用`anyMatch()`检查数组是否包含给定值`toFind`。