?本次分析代碼為JDK1.8中HashTable代碼。
??HashTable不允許null作為key和value。
??HashTable中的方法為同步的,所以HashTable是線程安全的。
Entry類
介紹
Entry是HashTable內的一個靜態(tài)內部類,實現(xiàn)了Map.Entry接口。table的類型就是Entry。
基本參數(shù)
hash:存這個Entry的hash值
key:存key值
value:存value的值
next:通過鏈表連接下一個Entry
final int hash;final K key; V value; Entry<K,V> next;
構造函數(shù)
用來新建Entry,需要四個參數(shù)。
protected Entry(int hash, K key, V value, Entry<K,V> next) { this.hash = hash; this.key = key; this.value = value; this.next = next; }
方法
getKey方法:返回key值
getValue方法:返回value的值
setValue方法:修改value值
重寫了equals和hashCode方法:hashCode方法通過計算該Entry的hash值與value的hash值進行異或運算;equals方法通過判斷key和value是否同時相同來判斷。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26