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 : Object
Luokka 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 String
ja- ArrayList
objektin hash-koodin .
Se johtuu siitä, että String
ja ArrayList
luokka perivät Object
luokan.
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.