标签:get syn dex stat 链表 存在 原理 aci 节点
HashMap和Hashtable的区别
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;
HashMap计算hash对key的hashcode进行了二次hash,以获得更好的散列值,然后对table数组长度取摸:
static int hash(int h) {
h ^= (h >>> 20) ^ (h >>> 12);
return h ^ (h >>> 7) ^ (h >>> 4);
}
static int indexFor(int h, int length) {
return h & (length-1);
}
7.判断是否含有某个键
在HashMap 中,null 可以作为键,这样的键只有一个;可以有一个或多个键所对
应的值为null。当get()方法返回null 值时,既可以表示HashMap 中没有该键,也可
以表示该键所对应的值为null。因此,在HashMap 中不能用get()方法来判断HashM
ap 中是否存在某个键,而应该用containsKey()方法来判断。Hashtable 的键值都不能
为null,所以可以用get()方法来判断是否含有某个键。
--------------------- 本文来自 菜鸡小王子 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_35181209/article/details/74503362?utm_source=copy
标签:get syn dex stat 链表 存在 原理 aci 节点
原文地址:https://www.cnblogs.com/kuncy/p/9703774.html