符號表與雜湊表

simpleman7210發表於2013-07-27

符號表的需要:

 對一個java類完成解析之後,可以根據這個類的名稱(全限定名)快速訪問其相關資料。

大概來說,符號表第一要儲存那些符號,第二要能快速檢索符號。

 

雜湊表:

為了快速檢索,符號表一般是基於雜湊表(Hash table)實現的。

hash表的主要行為有:

    插入

    查詢

    刪除(一個或全部)

    重新hash(增大表的容量)

    列舉

一個hash表的實現應該有預設行為,預設行為適合大多數的應用場合。例如,hash表的容量可以自動擴充套件,當hash表裡面的元素(名值對)的數量增長到一定程度時。

預設行為應該是可選的。使用者可以不選擇預設方式,而是自行控制(hash表的容量是否固定? 什麼時候增長容量,增長為多大?)

 

實現一個通用的hash表:

希望支援key為各種型別,包括基本型別和物件型別,Hash函式以什麼形式提供?

 

 

相關文章