在 Java 中检查数组是否包含某整数

Mohammad Irfan 2023年10月12日
  1. 使用 anyMatch() 方法检查数组是否包含指定的值
  2. 使用 contains() 方法检查数组中是否包含指定的值
  3. 使用列表的 contains() 方法检查一个数组是否包含指定的值
  4. 使用 binarySearch() 方法检查一个数组是否包含指定的值
  5. 使用自定义代码检查数组是否包含指定的值
在 Java 中检查数组是否包含某整数

本教程介绍了如何在 Java 中检查一个数组是否包含整数值,并列举了一些示例代码来理解这个主题。

数组是一个存储相同数据类型元素的容器。例如,一个整数组只能有整数类型的值。在这里,我们将检查一个数组是否包含给定的指定值。在本文中,我们使用了几个内置的方法,如 anyMatch()contains()binarySearch() 等,我们将在给定的数组中找到一个值。

使用 anyMatch() 方法检查数组是否包含指定的值

我们可以使用 anyMatch() 方法在给定的数组中找到指定的值。这个方法返回一个布尔值,要么是 true,要么是 false,它需要一个 lambda 表达式作为参数,可以在 Java 8 或更高版本中使用。

import java.util.Arrays;
public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {10, 25, 23, 14, 85, 65};
    int key = 14;
    boolean val = contains(arr, key);
    System.out.println("Array contains " + key + "? \n" + val);
  }
  public static boolean contains(final int[] arr, final int key) {
    return Arrays.stream(arr).anyMatch(i -> i == key);
  }
}

输出:

Array contains 14? 
true

使用 contains() 方法检查数组中是否包含指定的值

我们可以使用 contains() 方法在给定数组中找到指定的值。这个方法返回一个布尔值,要么是 true,要么是 false。它需要两个参数,第一个是数组,第二个是要查找的值。contains() 方法属于 Apache commons 库的 ArrayUtils 类。请看下面的例子。

import org.apache.commons.lang3.ArrayUtils;
public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {10, 25, 23, 14, 85, 65};
    int key = 14;
    boolean val = contains(arr, key);
    System.out.println("Array contains " + key + "? \n" + val);
  }
  public static boolean contains(final int[] arr, final int key) {
    return ArrayUtils.contains(arr, key);
  }
}

输出:

Array contains 14? 
true

使用列表的 contains() 方法检查一个数组是否包含指定的值

我们可以通过 Arrays.asList() 将数组转换为列表,然后使用列表的 contains() 方法在给定数组中找到指定的值。这个方法返回一个布尔值,可以是 truefalse。它以一个需要被找到的值作为参数。请看下面的例子。

import java.util.Arrays;
public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {10, 25, 23, 14, 85, 65};
    int key = 14;
    boolean val = contains(arr, key);
    System.out.println("Array contains " + key + "? \n" + val);
  }
  public static boolean contains(final int[] arr, final int key) {
    return Arrays.asList(arr).contains(key);
  }
}

输出:

Array contains 14? 
true

使用 binarySearch() 方法检查一个数组是否包含指定的值

我们可以使用 binarySearch() 方法在给定的数组中找到指定的值。这个方法在匹配后返回一个值。如果数组是已经排序的,那么它就会工作,所以在应用这个方法之前,先对数组进行排序。请看下面的例子。

import java.util.Arrays;
public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {10, 25, 23, 14, 85, 65};
    int key = 14;
    boolean val = contains(arr, key);
    System.out.println("Array contains " + key + "? \n" + val);
  }
  public static boolean contains(final int[] arr, final int key) {
    Arrays.sort(arr);
    return Arrays.binarySearch(arr, key) >= 0;
  }
}

输出:

Array contains 14? 
true

使用自定义代码检查数组是否包含指定的值

我们可以使用自定义代码在给定的数组中找到指定的值。我们创建一个自定义方法来查找数组中的值,并返回一个布尔值,要么是 true,要么是 false。这个方法需要两个参数,第一个是数组,第二个是需要找到的值。请看下面的例子。

public class SimpleTesting {
  public static void main(String[] args) {
    int[] arr = {10, 25, 23, 14, 85, 65};
    int key = 14;
    boolean val = contains(arr, key);
    System.out.println("Array contains " + key + "? \n" + val);
  }
  public static boolean contains(final int[] arr, final int key) {
    boolean found = false;

    for (int i = 0; i < arr.length; i++) {
      if (arr[i] == key) {
        found = true;
      }
    }
    return found;
  }
}

输出:

Array contains 14? 
true

相关文章 - Java Array