12
Dize'deki Java hashCode () neden 31 çarpanı olarak kullanılır?
Java belgelerine göre, bir nesnenin karma koduString şu şekilde hesaplanır: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] kullanarak intaritmetik, nerede s[i]olduğunu ben , dizenin inci karakter ndizesinin uzunluğu ve ^üs gösterir. 31 neden çarpan olarak kullanılıyor? Çarpanın nispeten büyük bir asal sayı olması gerektiğini anlıyorum. Öyleyse neden 29, 37 veya …