Java Nesnesi hashCode ()

Java Object hashCode () yöntemi, nesneyle ilişkili karma kod değerini döndürür.

hashCode()Yöntemin sözdizimi şöyledir:

 object.hashCode()

hashCode () Parametreleri

hashCode()Yöntemin bir parametre almaz.

hashCode () Dönüş Değerleri

  • nesnenin karma kodu değerini döndürür

Not : Karma kod değeri, her nesne ile ilişkili bir tamsayı değeridir. Karma tablodaki nesnelerin konumunu belirlemek için kullanılır.

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

Not : ObjectSınıf, Java'daki tüm sınıflar için süper sınıftır. Dolayısıyla, her sınıf hashCode()yöntemi uygulayabilir .

Örnek 2: String ve ArrayList ile hashCode ()

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

Yukarıdaki örnekte, ve nesnesinin hashCode()karma kodunu almak için yöntemi çağırabiliriz .StringArrayList

Bunun nedeni Stringve ArrayListsınıfının sınıfı miras almasıdır Object.

Örnek 3: Eşittir Nesnesi için Karma Kod Değeri

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

Yukarıdaki örnekte, iki nesnenin obj1 ve obj2'nin aynı hash kod değerini ürettiğini görebiliriz.

Bunun nedeni, iki nesnenin eşit olmasıdır. Ve resmi Java belgelerine göre, iki eşit nesne her zaman aynı karma kod değerini döndürmelidir.

Not : İki nesnenin eşit olup olmadığını kontrol etmek için Java Object equals () yöntemini kullandık.

Ilginç makaleler...