/** * initializes the hashtable to a prime capacity which is at least <tt>initialCapacity + * 1</tt>. * * @param initialCapacity an <code>int</code> value * @return the actual capacity chosen */ protected int setUp(int initialCapacity) { int capacity; capacity = super.setUp(initialCapacity); _states = new byte[capacity]; return capacity; } } // TPrimitiveHash
/** * initializes the Object set of this hash table. * * @param initialCapacity an <code>int</code> value * @return an <code>int</code> value */ protected int setUp(int initialCapacity) { int capacity; capacity = super.setUp(initialCapacity); _set = new Object[capacity]; Arrays.fill(_set, FREE); return capacity; }
/** * Creates a new <code>THash</code> instance with a prime capacity at or near the minimum needed * to hold <tt>initialCapacity</tt> elements with load factor <tt>loadFactor</tt> without * triggering a rehash. * * @param initialCapacity an <code>int</code> value * @param loadFactor a <code>float</code> value */ public THash(int initialCapacity, float loadFactor) { super(); _loadFactor = loadFactor; // Through testing, the load factor (especially the default load factor) has been // found to be a pretty good starting auto-compaction factor. _autoCompactionFactor = loadFactor; setUp((int) Math.ceil(initialCapacity / loadFactor)); }
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // VERSION in.readByte(); // LOAD FACTOR float old_factor = _loadFactor; _loadFactor = in.readFloat(); // AUTO COMPACTION LOAD FACTOR _autoCompactionFactor = in.readFloat(); // If we change the laod factor from the default, re-setup if (old_factor != _loadFactor) { setUp((int) Math.ceil(DEFAULT_INITIAL_CAPACITY / _loadFactor)); } } }// THash