1. 程式人生 > 其它 >50、雜湊值

50、雜湊值

技術標籤:Java學習java雜湊值

雜湊值

雜湊值:是一個十進位制的整數,由系統隨機給出(就是物件的地址值,是一個邏輯地址,是模擬出來得到的地址,不是資料實際儲存的實體地址)

方法

  • 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