clear()
/*
* 清空hashMap
* */
public void clear() {
HashMap.Node<K,V>[] tab; //定义node类型的数组tab
modCount++; //记录hashMap被修改的次数
if ((tab = table) != null && size > 0) { //把hashMap的成员变量table赋值给tab,tab不为空,hashMap长度size>0
size = 0;//把size赋值为0
for (int i = 0; i < tab.length; ++i) //循环tab中的元素
tab[i] = null; //把tab中的元素置null
}
}
containsValue(Object key)
/*
* 在hashMap中查找给定的value,找到返回true,找不到返回false
* */
public boolean containsValue(Object value) {
HashMap.Node<K,V>[] tab; V v;
if ((tab = table) != null && size > 0) {
for (int i = 0; i < tab.length; ++i) {
for (HashMap.Node<K,V> e = tab[i]; e != null; e = e.next) {
if ((v = e.value) == value ||
(value != null && value.equals(v)))
return true;
}
}
}
return false;
}