Java Object hashCode() メソッド

Java String类Java Object クラス


Object hashCode() メソッドは、オブジェクトのハッシュ値を取得するために使用されます。

構文

object.hashCode()

パラメータ

  • 无 。

戻り値

オブジェクトのハッシュ値を返します。これは整数で、ハッシュテーブル内の位置を表します。

例

次の例は、hashCode() メソッドの使用法を示しています:

例

class サンプルTest { public static void main(String[] args) { //Object での hashCode() の使用 Object obj1 = new Object(); System.out.println(obj1.hashCode()); Object obj2 = new Object(); System.out.println(obj2.hashCode()); Object obj3 = new Object(); System.out.println(obj3.hashCode()); } }

上記のプログラムの実行結果は次のとおりです:

225534817
1878246837
929338653

String クラスと ArrayList クラスは hashCode() メソッドを使用します。String クラスと ArrayList クラスはどちらも Object を継承しているため、hashCode() メソッドを直接使用できます:

例

import java.util.ArrayList; class サンプルTest { public static void main(String[] args) { //String での hashCode() の使用 String str = new String(); System.out.println(str.hashCode()); // 0 //ArrayList での hashCode() の使用 ArrayList<Integer> list = new ArrayList<>(); System.out.println(list.hashCode()); // 1 } }

上記のプログラムの実行結果は次のとおりです:

0
1

次の例は、2つのオブジェクトが等しい場合、それらのハッシュ値も等しいことを示しています:

例

class サンプルTest { public static void main(String[] args) { //Object での hashCode() の使用 Object obj1 = new Object(); //obj1 を obj2 に代入 Object obj2 = obj1; //2つのオブジェクトが等しいかどうかを判定 System.out.println(obj1.equals(obj2)); // true //obj1 と obj2 のハッシュ値を取得 System.out.println(obj1.hashCode()); // 225534817 System.out.println(obj2.hashCode()); // 225534817 } }

上記のプログラムの実行結果は次のとおりです:

true
225534817
225534817

Java String类Java Object クラス

その他の拡張