Java objekta hashCode ()

Java objekta hashCode () metode atgriež hash koda vērtību, kas saistīta ar objektu.

Metodes sintakse hashCode()ir šāda:

 object.hashCode()

hashCode () parametri

hashCode()Metode neveic nekādus parametrus.

hashCode () Atgriež vērtības

  • atgriež objekta jaukšanas koda vērtību

Piezīme : hash koda vērtība ir vesels skaitlis, kas saistīts ar katru objektu. To izmanto, lai identificētu objektu atrašanās vietu jaukšanas tabulā.

1. piemērs: Java objekta 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 ) )

Piezīme : ObjectKlase ir superklase visām Java klasēm. Tādējādi katra klase var ieviest hashCode()metodi.

2. piemērs: hashCode () ar virkni un 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 ) )

Iepriekš minētajā piemērā mēs varam izsaukt hashCode()metodi, lai iegūtu objekta Stringun ArrayListobjekta jaukšanas kodu .

Tas ir tāpēc, ka Stringun ArrayListklase manto Objectklasi.

3. piemērs: Hash Code vērtība vienādam objektam

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

Iepriekš minētajā piemērā mēs varam redzēt, ka divi objekti obj1 un obj2 ģenerē vienādu jaukšanas koda vērtību.

Tas ir tāpēc, ka divi objekti ir vienādi. Saskaņā ar oficiālo Java dokumentāciju diviem vienādiem objektiem vienmēr jāatdod viena un tā pati hash koda vērtība.

Piezīme : Mēs izmantojām Java Object equals () metodi, lai pārbaudītu, vai divi objekti ir vienādi.

Interesanti raksti...