50、雜湊值
阿新 • • 發佈:2020-12-25
雜湊值
雜湊值:是一個十進位制的整數,由系統隨機給出(就是物件的地址值,是一個邏輯地址,是模擬出來得到的地址,不是資料實際儲存的實體地址)
方法:
- int hasCode():返回該物件的雜湊碼值,屬於Object類中的方法。
String類的雜湊值:String類重寫Object類的hashCode方法。
雜湊表=陣列+連結串列
雜湊表=陣列+紅黑樹(提高查詢速度)
如果連結串列的長度超過了8位,那麼就會把連結串列轉換為紅黑樹。
public class HashCode {
public static void main (String[] args) {
//Person類預設繼承了Object類,所以可以使用Object類的hashCode方法
Person p1 = new Person();
int h1 = p1.hashCode();
System.out.println(h1);
Person p2 = new Person();
int h2 = p2.hashCode();
System.out.println(h2);
System.out.println(p1); //這裡面的數字就是對應h1的十六進位制形式
System.out.println(p2);//這裡面的數字就是對應h2的十六進位制形式
//String類重寫Object類的hashCode方法
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
}
}
輸出結果:
2129789493
668386784
[email protected]
[email protected]
96354
96354