protected void rehash()

in core/src/main/java/gnu/trove/TObjectLongHashMap.java [160:179]


  protected void rehash(int newCapacity) {
    int oldCapacity = capacity();
    K[] oldKeys = (K[])_set;
    long[] oldVals = _values;

    _set = new Object[newCapacity];
    _values = new long[newCapacity];

    for (int i = oldCapacity; i-- > 0; ) {
      if (oldKeys[i] != null && oldKeys[i] != REMOVED) {
        K o = oldKeys[i];
        int index = insertionIndex(o);
        if (index < 0) {
          throwObjectContractViolation(_set[-index - 1], o);
        }
        _set[index] = o;
        _values[index] = oldVals[i];
      }
    }
  }