Java-objektin hashCode ()

Java Object hashCode () -menetelmä palauttaa objektiin liittyvän hash-koodin arvon.

Menetelmän syntaksi hashCode()on:

 object.hashCode()

hashCode () -parametrit

hashCode()Menetelmä ei ota parametreja.

hashCode () Palauttaa arvot

  • palauttaa objektin hash-koodiarvon

Huomaa : Hajautuskoodiarvo on kuhunkin objektiin liittyvä kokonaisluku. Sitä käytetään kohteiden sijainnin tunnistamiseen hash-taulukossa.

Esimerkki 1: Java-objektin 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 ) )

Huomaa : ObjectLuokka on kaikkien Java-luokkien superluokka. Siksi jokainen luokka voi toteuttaa hashCode()menetelmän.

Esimerkki 2: hashCode () Stringillä ja ArrayListillä

 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 ) )

Yllä olevassa esimerkissä voimme kutsua hashCode()menetelmää saadaksesi Stringja- ArrayListobjektin hash-koodin .

Se johtuu siitä, että Stringja ArrayListluokka perivät Objectluokan.

Esimerkki 3: Hash-koodin arvo yhtä suuri objekti

 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 ) )

Yllä olevassa esimerkissä voimme nähdä, että kaksi objektia obj1 ja obj2 tuottavat saman hash-koodiarvon.

Se johtuu siitä, että kaksi objektia on yhtä suuri. Ja virallisen Java-dokumentaation mukaan kahden saman objektin tulisi aina palauttaa sama hash-koodiarvo.

Huomautus : Olemme käyttäneet Java Object equals () -menetelmää tarkistaaksemme, ovatko kaksi objektia yhtä suuret.

Mielenkiintoisia artikkeleita...