equals
equals メソッドは、デフォルトでは、2 つのオブジェクトのメモリ アドレスを比較して、オブジェクトの実際の内容を比較します。同じクラスのオブジェクトの同じ属性。
ハッシュテーブルは配列です。同じ一方向リンクリスト内のノードは、同じ属性。属性値 は配列の添字であり、この同じ属性は hashCode ハッシュ値と呼ばれます。
hashCodeを生成する前に、検索集合を一つ一つ比較する必要があり、クエリ効率が低い。コレクション内の同じ属性値を持つ要素が特定の属性に基づいてグループに分割されている場合、それらは一元的に格納されます。クエリを実行すると、まずクエリ オブジェクトの属性の値が取得され、対応するグループが取得されます。値に基づいて検索され、クエリの範囲が大幅に縮小されます。これが hashCode の背景です。 2 つのオブジェクトの hashCode は等しいですが、これは 2 つのオブジェクトが同じグループにあることを示すだけであり、2 つのオブジェクトのメモリ アドレスを比較したり、
equals メソッドを使用して特定のコンテンツを検証し、2 つのオブジェクトが同じかどうかを判断します。上記のことから、ハッシュ テーブルでは、同じ 2 つのオブジェクトは同じハッシュ値を持たなければならないことがわかります。
3.hashCode() メソッド
メソッドをオーバーライドして、同じオブジェクトは同じ値を持ちます。 3つのアプリケーション
ハッシュ値は主にハッシュテーブルで使用されます。したがって、HashMapまたはHashSetにオブジェクトを格納したい場合は、以上がequals と hashCode の使用法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。