說明
1、java中hashcode方法是Object類別native方法,傳回值為int型別。
2、根據一定的規則將與對方相關的信息,例如對方的存儲地址、對方的字段等映射到數值中,該數值被稱為散列值。
實例
public static int hashCode(int a[]) { if (a == null) return 0; int result = 1; for (int element : a) result = 31 * result + element; return result; }
選擇值31是因為它是奇數素數。如果它是偶數,乘法溢出,資訊就會遺失,因為乘2等於移位。使用素數的好處不太清楚,但它是傳統的。 31的一個很好的特性是,乘法可以用移位和減法來代替,以獲得更好的性能:31*i==(i<<5)-i。現代虛擬機會自動進行這種最佳化。
以上是Java中的HashCode方法及其使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!