11. }
12. returnnull;
13. }
意思就是:、当 为 时,调用 >"39)G,源码如下:
[java]view plaincopy
1. privateVgetForNullKey(){
2. for(Entry<K,V>e=table[0];e!=null;e=e.next){
3. if(e.key==null)
4. returne.value;
5. }
6. returnnull;
7. }
、当 不为 时,先根据 函数得到 值,在更具 8"39得到 的值,循环遍历链表,如果有:
值等于已存在的 值,则返回其 。如上述 >代码 处判断。
总结下 新增 和获取 > 操作:
[java]view plaincopy
1. //存储时:
2. inthash=key.hashCode();
3. inti=hash%Entry[].length;
4. Entry[i]=value;
5.
6. //取值时:
7. inthash=key.hashCode();
8. inti=hash%Entry[].length;
9. returnEntry[i];
理解了就比较简单。
此处附一个简单的 小算法应用:
[java]view plaincopy
1. packagecom.xtfggef.hashmap;
2.
3. importjava.util.HashMap;
4. importjava.util.Map;
5. importjava.util.Set;
6.
7. /**
8. *打印在数组中出现 n/2 以上的元素Ô
9. *利用一个 HashMap 来存放数组元素及出现的次数Ô
10. *@authorerqing
11. *
12. */
13. publicclassHashMapTest{
14.
15. publicstaticvoidmain(String[]args){