Java の Arrays クラスの binarySearch() メソッドを使用して、順序付けられた配列内の要素を検索する方法

WBOY
リリース: 2023-07-24 22:41:15
オリジナル
1303 人が閲覧しました

Java で Arrays クラスの binarySearch() メソッドを使用して、順序付けされた配列内の要素を検索する方法

大量のデータに直面する場合、多くの場合、検索操作を実行する必要があります。ソートされた配列の場合、二分検索アルゴリズムを使用して検索効率を向上させることができます。 Java では、Arrays クラスの binarySearch() メソッドを使用してこの機能を実現できます。

binarySearch() メソッドは、Arrays クラスによって提供される静的メソッドで、順序付けされた配列内の指定された要素の位置を検索できます。このメソッドには 2 つのオーバーロード形式があります: 1 つは、指定された要素と順序付けされた配列をパラメータとして受け入れ、配列内の要素のインデックスを返します。もう 1 つは、指定された要素、順序付けされた配列、開始位置を受け入れ、終了位置をパラメータとして受け取ります。パラメータを使用すると、指定された範囲内の要素のインデックスを返します。

以下は、binarySearch() メソッドを使用して要素を検索するサンプル コードです。

import java.util.Arrays;

public class BinarySearchExample {
    public static void main(String[] args) {
        int[] array = {1, 3, 5, 7, 9, 11, 13, 15};
        int key = 9;

        // 使用Arrays类的binarySearch()方法在有序数组中搜索元素
        int index = Arrays.binarySearch(array, key);

        // 输出搜索到的元素的索引
        System.out.println("元素" + key + "的索引为:" + index);
    }
}
ログイン後にコピー

上記のコードでは、順序付けられた配列配列と検索対象の要素キーを定義します。次に、Arrays クラスの binarySearch() メソッドを使用して、順序付けされた配列内のキーを検索し、結果を変数インデックスに保存します。最後に、検索結果をコンソールに出力します。

上記のコードを実行すると、コンソールに「要素 9 のインデックスは 4」と出力されます。これは、要素 9 が配列内のインデックス 4 を持つことを意味します。

binarySearch() メソッドを使用する場合は、次の点に注意する必要があります。

  1. 配列は順序付けする必要があります。順序付けしないと、結果が予測不能になる可能性があります。
  2. 配列内に同一の要素が複数ある場合、binarySearch() メソッドはどの要素のインデックスが返されるかを保証できません。 binarySearch() メソッドによって返されたインデックスを使用し、それを隣接する要素と比較することで、正しい要素が見つかったかどうかを判断できます。
  3. 指定された要素が配列内に存在しない場合、binarySearch() メソッドは要素を挿入する位置を示す負の数値を返します。この場合、「~index」を使用して挿入位置を取得できます。ここで、index は負の数です。

概要
Arrays クラスの binarySearch() メソッドは、Java でバイナリ検索を迅速かつ簡単に実行する方法です。このメソッドを使用すると、ソートされた配列内の指定された要素を効率的に検索できます。 binarySearch() メソッドを使用する場合は、配列を順序付けする必要があり、メソッドによって返される結果にも注意する必要があることに注意してください。

この記事が、Arrays クラスの binarySearch() メソッドを使用して順序付けられた配列内の要素を検索する方法を理解するのに役立つことを願っています。不足がある場合は、修正してください。

以上がJava の Arrays クラスの binarySearch() メソッドを使用して、順序付けられた配列内の要素を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!