English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يستخدم Java String hashCode() لتحديد رقم المضاد للنص
جملة синтكس لـ hashCode() لـ String
string.hashCode()
في هذا السياق،string هو مثال على كائن من فئة String
بدون أي معلمات
يعود الرقم المضاد للنص، وهو قيمة int
حساب الرقم المضاد يستخدم المعادلة التالية:
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
أين،
s[0] هو العنصر الأول من النص s،s[1] هو العنصر الثاني، وهكذا.
n - هو طول النص
class Main { public static void main(String[] args) { String str1 = "Java"; String str2 = "Java Programming"; String str3 = ""; System.out.println(str1.hashCode()); // 2301506 System.out.println(str2.hashCode()); // 1377009627 // رقم المفتاح الحسابي للنص الفارغ هو 0 System.out.println(str3.hashCode()); // 0 {} {}
رقم المفتاح الحسابي هو رقم من أي عنصر (عنوان الذاكرة للعنصر)، وليس النص فقط. يتم استخدام هذا الرقم لتحقيق التخزين السريع والاسترجاع من جدول المفاتيح.
لجعل النصين متساويين، يجب أن يكون هذان المفتاحان الحسابيان متساويين أيضًا.