標籤:

筆記-哈希 相關知識點

  1. 哈希(散列)就是將不定長的輸入,經過散列演算法運算,輸出位定長數據,結果可能會相同,但是幾率很小
  2. 哈希表是一個表結構,put(key,val),get(key)
  • put是將key的哈希值作為key,與val存入哈希表內。先判斷表中key是否存在,存在則在判斷key是否一致,一致就update,不一致則put;若表中key不存在,則直接put
  • get是將key的哈希值在哈希表中進行查找,並返回key對應的val

HashMap 存儲鍵值對,沒有什麼特殊的功能;

LinkedHashMap在存儲的同時,能夠保存用戶插入數據的順序,如果需要輸出用戶插入map的順序可以用它;

TreeMap 插入數據後,對鍵值進行排序,內部是通過紅黑樹實現的;

HashTable 與HashMap的功能相同,區別僅僅是HashTable是線程安全的,即某一時刻只允許一個線程訪問,同時鍵值允許為空;

如果HashTable想要允許多線程訪問,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。

哈希表在其中數據佔據了0.75%後向後擴充,並重新排列數據所在的位置。普通hashMap中沒有加synchronized所以在多線程的情況下會導致程序異常或卡死

.

淺談Java中的hashcode方法 - 海 子 - 博客園?

www.cnblogs.com

如何正確的重寫equals() 和 hashCode()方法 - CSDN博客?

blog.csdn.net


推薦閱讀:

《一生的讀書計劃》
機器學習筆記(一) KNN K-最近鄰
思維導圖筆記的活用和與傳統線性筆記的比較
毛中特·第一章-馬克思主義中國化

TAG:筆記 |