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


       int i = indexFor(hash table.length);             ------(2)        //从i出开始迭代 e找到 key 保存的位置
       for (Entry<K V> e = table[i
; e != null; e = e.next) {
           Object k;            //判断该条链上是否有hash值相同的(key相同)
           //若存在相同 , 则直接覆盖value , 返回旧value
           if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
               V oldValue = https://mparticle.uc.cn/api/e.value; //旧值 = 新值
               e.value = https://mparticle.uc.cn/api/value;
               e.recordAccess(this);                return oldValue;     //返回旧值

推荐阅读