一文读懂HashMap和HashTable的区别以及常见面试题(34)


   

\n

相对于put方法 , get方法就会比较简单 , 处理过程就是计算key的hash值 , 判断在table数组中的索引位置 , 然后迭代链表 , 匹配直到找到相对应key的value若没有找到返回null 。

\n

public synchronized V get(Object key) {
       Entry tab[
= table;        int hash = hash(key);        int index = (hash & 0x7FFFFFFF) % tab.length;        for (Entry<KV> e = tab[index
; e != null ; e = e.next) {            if ((e.hash == hash) && e.key.equals(key)) {                return e.value;
           
               return null;
   

\n

HashTable与HashMap的异同点

\n

HashTable和HashMap存在很多的相同点 , 但是他们还是有几个比较重要的不同点 。

推荐阅读