Java Object hashCode ()

Metoden Java Object hashCode () returnerer den hashkodeværdi, der er knyttet til objektet.

Metodens syntaks hashCode()er:

 object.hashCode()

hashCode () Parametre

Den hashCode()metode tager ikke nogen parametre.

hashCode () Returværdier

  • returnerer hashkodeværdien for objektet

Bemærk : Hashkodeværdien er et heltal, der er knyttet til hvert objekt. Det bruges til at identificere placeringen af ​​objekter i hash-tabellen.

Eksempel 1: Java Object hashCode ()

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); System.out.println(obj1.hashCode()); // 1785210046 Object obj2 = new Object(); System.out.println(obj2.hashCode()); // 1552787810 Object obj3 = new Object(); System.out.println(obj3.hashCode()); // 1361960727 ) )

Bemærk : ObjectKlassen er superklassen for alle klasser i Java. Derfor kan hver klasse implementere hashCode()metoden.

Eksempel 2: hashCode () med String og ArrayList

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // hashCode() with String String str = new String(); System.out.println(str.hashCode()); // 0 ArrayList list = new ArrayList(); System.out.println(list.hashCode()); // 1 ) )

I ovenstående eksempel kan vi kalde hashCode()metoden for at få hash-koden til Stringog ArrayListobjektet.

Det er fordi den Stringog ArrayListklasse arver Objectklassen.

Eksempel 3: Hash-kodeværdi for lig med objekt

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); // assign obj1 to obj2 Object obj2 = obj1; // check if two objects are equal System.out.println(obj1.equals(obj2)); // true // get hashcode of obj1 and obj2 System.out.println(obj1.hashCode()); // 1785210046 System.out.println(obj2.hashCode()); // 1785210046 ) )

I ovenstående eksempel kan vi se, at to objekter obj1 og obj2 genererer den samme hash-kodeværdi.

Det er fordi to objekter er ens. Og ifølge officiel Java-dokumentation skal to lige store objekter altid returnere den samme hash-kodeværdi.

Bemærk : Vi har brugt metoden Java Object equals () til at kontrollere, om to objekter er ens.

Interessante artikler...