Java Object hashCode ()

Metoden Java Object hashCode () returnerar hashkodvärdet som är associerat med objektet.

Syntaxen för hashCode()metoden är:

 object.hashCode()

hashCode () -parametrar

Den hashCode()metoden tar inte några parametrar.

hashCode () Returvärden

  • returnerar hashkodvärdet för objektet

Obs! Hashkodvärdet är ett heltal som är associerat med varje objekt. Den används för att identifiera placeringen av objekt i hashtabellen.

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

Obs : Den Objectklassen är super klass för alla klasser i Java. Därför kan varje klass implementera hashCode()metoden.

Exempel 2: hashCode () med String och 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 exemplet ovan kan vi anropa hashCode()metoden för att få hash-koden för Stringoch ArrayListobjektet.

Det beror på att Stringoch ArrayListklass ärver Objectklassen.

Exempel 3: Hashkodvärde för lika 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 exemplet ovan kan vi se att två objekt obj1 och obj2 genererar samma hashkodvärde.

Det beror på att två objekt är lika. Och enligt officiell Java-dokumentation ska två lika objekt alltid returnera samma hashkodvärde.

Obs! Vi har använt metoden Java Object equals () för att kontrollera om två objekt är lika.

Intressanta artiklar...