Javni objekt hashCode ()

Metoda Java Object hashCode () vrne vrednost hash kode, povezane s predmetom.

Sintaksa hashCode()metode je:

 object.hashCode()

parametri hashCode ()

hashCode()Metoda ne sprejme nobenih parametrov.

hashCode () Vrnjene vrednosti

  • vrne vrednost razpršene kode predmeta

Opomba : Vrednost zgoščene kode je celoštevilska vrednost, povezana z vsakim objektom. Uporablja se za določanje lokacije predmetov v razpršeni tabeli.

Primer 1: Javni objekt 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 ) )

Opomba : ObjectRazred je super razred za vse razrede v Javi. Zato lahko vsak razred uporabi hashCode()metodo.

Primer 2: hashCode () z String in 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 ) )

V zgornjem primeru lahko hashCode()metodo pokličemo, da dobimo zgoščeno kodo predmeta Stringin ArrayList.

To je zato, ker je Stringin ArrayListrazred podedovali Objectrazred.

Primer 3: Vrednost hash kode za enak 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 ) )

V zgornjem primeru lahko vidimo, da dva predmeta obj1 in obj2 generirata enako vrednost hash kode.

To je zato, ker sta dva predmeta enaka. V skladu z uradno dokumentacijo Java morata dva enaka predmeta vedno vrniti isto vrednost hash kode.

Opomba : Za preverjanje, ali sta dva predmeta enaka, smo uporabili metodo Java Object equals ().

Zanimive Članki...