?本次分析代码为JDK1.8中HashTable代码。
??HashTable不允许null作为key和value。
??HashTable中的方法为同步的,所以HashTable是线程安全的。
Entry类
介绍
Entry是HashTable内的一个静态内部类,实现了Map.Entry接口。table的类型就是Entry。
基本参数
hash:存这个Entry的hash值
key:存key值
value:存value的值
next:通过链表连接下一个Entry
final int hash;final K key; V value; Entry<K,V> next;
构造函数
用来新建Entry,需要四个参数。
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实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式