1. 程式人生 > >HashCode詳解

HashCode詳解

bsp set HA BE 什麽 popu nbsp hose -s

一. 序言

  在分析Object.java發現如下的方法:

public native int hashCode();

  本著窮究的目的,去找相關的資料分析為什麽Object.java為什麽有這個原生的HashCode方法。

二. 分析

  (1)HashCode是什麽?

HashCode:根據Hash算法依據對象的某些屬性(內存地址等)生成的一個int類型的數字,讓同一個類的對象按照自己不同的特征盡量的有不同的HashCode。

(2)Object.java為什麽要實現hashCode方法?

    Object.java對象是一切對象的基類,實現該方法,可以讓Hash數據結構(如HashTable,HashMap,HashSet)操作對象,Hash數據結構使用HashCode確認在該數據結構中的對象的存儲位置。

This method is supported for the benefit of hash tables such as those provided by {@link java.util.HashMap}.

(3)Hash數據結構是什麽?

Hash數據結構是一種特殊的數據結構,使用Hash算法實現,可以快速地定位查找的對象,提高查詢效率。

HashCode詳解