@Override public double getLoadFactor() { return (double) numFilled / getCapacity(); }
public double getLoadFactor(int numAdditional) { return (double) (numFilled + numAdditional) / getCapacity(); }
public double getLoadFactor() { return (double) numFilled / getCapacity(); }
public void rehashIfNecessary(int num) { if (explicitMaps == null) return; for (int ngramOrder = 0; ngramOrder < explicitMaps.length; ++ngramOrder) { if (explicitMaps[ngramOrder] == null) continue; if (explicitMaps[ngramOrder].getLoadFactor(num) >= maxLoadFactor) { rehash(ngramOrder, (explicitMaps[ngramOrder].getCapacity() + num) * 3 / 2, num); return; } } }
/** * @param values * @param newCapacities * @param ngramOrder * @return */ private ExplicitWordHashMap initMap(final long newCapacity, final int ngramOrder) { final ExplicitWordHashMap newMap = new ExplicitWordHashMap(newCapacity); explicitMaps[ngramOrder] = newMap; values.setSizeAtLeast(explicitMaps[ngramOrder].getCapacity(), ngramOrder); return newMap; }
if (explicitMaps[ngramOrder] == null) break; if (ngramOrder < changedNgramOrder) { newCapacities[ngramOrder] = explicitMaps[ngramOrder].getCapacity(); } else if (ngramOrder == changedNgramOrder) { newCapacities[ngramOrder] = newCapacity; newCapacities[ngramOrder] = explicitMaps[ngramOrder].getLoadFactor(numAdding) >= maxLoadFactor / 2 ? ((explicitMaps[ngramOrder].getCapacity() + numAdding) * 3 / 2) : explicitMaps[ngramOrder].getCapacity(); final T val = values.getScratchValue(); final int[] scratchArray = new int[ngramOrder + 1]; for (long actualIndex = 0; actualIndex < currHashMap.getCapacity(); ++actualIndex) {