Javaで要素が配列に含まれているかどうかを判断する方法は何ですか?

Javaでは、ArraysクラスのbinarySearch()メソッドを使用するか、独自にループを書いて要素が配列に含まれているかを判定することができます。

二分探索を使用するには、配列を事前に並べ替えておく必要があります。その後、このメソッドを呼び出すと、配列内の検索対象要素のインデックスが返されます。返されたインデックスが0以上であれば、その要素が配列内に存在することを示し、そうでなければ要素が配列内に存在しないことを示します。

サンプルコードは以下の通りです:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int target = 3;

        // 先对数组进行排序
        Arrays.sort(arr);

        // 使用binarySearch()方法判断元素是否存在
        int index = Arrays.binarySearch(arr, target);
        if (index >= 0){
            System.out.println(target + " 在数组中存在");
        } else {
            System.out.println(target + " 不在数组中存在");
        }
    }
}

また、配列内に要素が含まれているかどうかを判断するための独自のループを作成することもできます。コードは以下の通りです:

public class Main {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int target = 3;
        boolean exists = false;

        // 使用循环判断元素是否存在
        for (int i : arr) {
            if (i == target) {
                exists = true;
                break;
            }
        }

        if (exists) {
            System.out.println(target + " 在数组中存在");
        } else {
            System.out.println(target + " 不在数组中存在");
        }
    }
}
bannerAds