用于检查数组是否包含给定值的 Java 程序

在本程序中,您将学习在 Java 中检查数组是否包含给定值。

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:检查 Int Array 是否包含给定值

public class Main {
  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.");
  }
}

输出

3 is found.

在上面的程序中,我们有一个存储在变量 num 中的整数数组.

现在,我们使用for-each 循环遍历所有元素数量 并单独检查 toFind 是否等于 n

如果是,我们设置 foundtrue 并中断循环。如果没有,我们将进行下一次迭代。

示例 2:使用 Stream 检查数组是否包含给定值

import java.util.stream.IntStream;

public class Main {
  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.");

  }
}

输出

7 is not found.

在上面的程序中,我们没有使用 for-each 循环,而是将数组转换为 IntStream 并使用其 anyMatch() 方法。

anyMatch() 方法是一个采用谓词、表达式并返回布尔值的函数。在我们的例子中,谓词比较在流中的每个元素 n 是否等于 toFind 并返回 truefalse

如果任何一个元素 n 返回 true , found 设置为 true

示例 3:检查数组是否包含非原始类型的给定值

import java.util.Arrays;

public class Main {
  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.");
  }
}

输出

Four is found.

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