在 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