}// 步骤1.2:如果旧数组容量大于默认容量且右移一位小于最大容量,双倍扩容elseif((newCap = oldCap <<1) < MAXIMUM_CAPACITY && oldCap >= DEFAULT_INITIAL_CAPACITY) newThr = oldThr <<1; }// 步骤2.如果旧数组为空,临界值大于0,设置新数组容量为临界值elseif(oldThr >0) newCap = oldThr;// ...
如果当前存放Node结点的数组不为空,resize方法双倍扩容数组大小,创建一个两倍于原长度大小的数组,同时将原数组的结点平移至新数组。 final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; int oldCap = (oldTab == null) ? 0 : oldTab.length; int oldThr = threshold; int newCap, newThr...