二分探索コンパレータを使用してリストからユーザー定義オブジェクトを検索する Java プログラム

WBOY
リリース: 2023-08-28 16:05:09
転載
1406 人が閲覧しました

二分探索コンパレータを使用してリストからユーザー定義オブジェクトを検索する Java プログラム

Java オブジェクトを並べ替えるための Java コンパレータ インターフェイス。 Java のコンパレータ クラスは、「java.util.comparator」を呼び出して、さまざまなオブジェクト (Obj 01、Obj 02) を比較します。このメソッドでは、戻り値に基づいてオブジェクトを比較できます。比較は、正、等しい、または負のいずれかになります。

このプロセスでは、ユーザーに複数の並べ替えシーケンスが提供されます。 2 つの方法を比較するにはさまざまな方法があります。

  • public int Compare class (obj 1, obj 2) - 2 つのオブジェクト間の比較を実行します。

  • public Boolean equals (obj) - 現在のオブジェクトと指定されたオブジェクトを比較します。

Java コレクション クラス - データ コレクション内の要素を並べ替えるための静的メソッドを提供します。このコレクション要素は TreeMap で使用されます。

コンパレータを使用して、二分検索によってリストからユーザー定義のオブジェクトを検索する Java コードを構築する方法について説明します。

二分探索パラメータとそのコンポーネント

  • パラメータ

    • は特定の配列です。

    • fromindex - 検索する最初の要素

    • toindex - 検索する最後の要素 key - 検索する値 検索するキーと値のペア

    • コンパレータ

    ######戻る######
  • 指定された範囲内に存在する検索キーのインデックスを返します。
    • ######例外######
  • クラスキャスト
    • 不正なパラメータです

    • ArrayIndexOutOfBounds

    • ###アルゴリズム###

    • ステップ 1 - 開始します。

    ステップ 2 - 中間要素セットの計算。

    ステップ 3 - キーワードと中央の要素を比較します。
  • ステップ 4 - key 要素と Mid 要素の値が同じ場合は、結果を返します。
  • ステップ 5 - それ以外の場合、キーの値が中央の要素より大きい場合は、コレクションの右半分に従います
  • ステップ 6 - または、キーの値が中間要素より小さい場合は、上部の
  • に従います。

  • コンパレータを使用した二分検索 - 構文
  • リーリー

    コンパレータを使用した二分検索によってリストからユーザー定義オブジェクトを検索するためのよく知られた構文が 2 つあります。最初のケースでは、リストを昇順に並べ替える必要があり、プロシージャは特定のメソッドを使用して呼び出されますが、結果は未定義です。

  • 一方、指定したオブジェクトを検索するには、メソッドを呼び出すことが重要です。
  • 次の方法

バイナリサーチャーとコンパレータを使用してリストからユーザー定義オブジェクトを検索する方法 1

コンパレータを使用してリストからユーザー定義オブジェクトを検索する

これらの例では、コレクション、binarySearch()、およびコンパレータ クラスの操作を使用して、コンパレータによるバイナリ検索操作を使用して一部のユーザー定義データを並べ替えます

    例 1: Collections、binarySearch() を使用してリストからデータを検索する
  • リーリー ###出力### リーリー

    例 2: リストを昇順に並べ替えます

    リーリー ###出力### リーリー
  • 例 3: リストを降順に並べ替えてインデックス番号を見つける
リーリー ###出力### リーリー

例 4: 要素と値の数を確認する

リーリー ###出力### リーリー ###結論は###

この記事では、いくつかのサンプル コードとアルゴリズムを通じて Java の Comparable インターフェイスについて学びました。ここでは、いくつかのユーザー定義クラスとコンパレータ インターフェイスを宣言します。これらはいくつかの特定の目的を果たし、特定のデータを Java 環境で処理できるようにします。

以上が二分探索コンパレータを使用してリストからユーザー定義オブジェクトを検索する Java プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート