public class SymbolHash
extends java.lang.Object
The hash code uses the same algorithm as SymbolTable class.
| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | SymbolHash.EntryThis class is a key table entry. | 
| Modifier and Type | Field and Description | 
|---|---|
| protected SymbolHash.Entry[] | fBucketsBuckets. | 
| protected int[] | fHashMultipliersArray of randomly selected hash function multipliers or  nullif the default String.hashCode() function should be used. | 
| protected int | fNumNumber of elements. | 
| protected int | fTableSizeActual table size | 
| protected static int | MAX_HASH_COLLISIONSMaximum hash collisions per bucket. | 
| protected static int | MULTIPLIERS_MASK | 
| protected static int | MULTIPLIERS_SIZE | 
| protected static int | TABLE_SIZEDefault table size. | 
| Constructor and Description | 
|---|
| SymbolHash()Constructs a key table with the default size. | 
| SymbolHash(int size)Constructs a key table with a given size. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | clear()Remove all key/value association. | 
| java.lang.Object | get(java.lang.Object key)Get the value associated with the given key. | 
| java.lang.Object[] | getEntries()Return key/value pairs of all entries in the map | 
| int | getLength()Get the number of key/value pairs stored in this table. | 
| int | getValues(java.lang.Object[] elements,
         int from)Add all values to the given array. | 
| protected int | hash(java.lang.Object key)Returns a hashcode value for the specified key. | 
| SymbolHash | makeClone()Make a clone of this object. | 
| void | put(java.lang.Object key,
   java.lang.Object value)Adds the key/value mapping to the key table. | 
| protected void | rebalance()Randomly selects a new hash function and reorganizes this SymbolHash
 in order to more evenly distribute its entries across the table. | 
| protected void | rehash()Increases the capacity of and internally reorganizes this 
 SymbolHash, in order to accommodate and access its entries more 
 efficiently. | 
| protected SymbolHash.Entry | search(java.lang.Object key,
      int bucket) | 
protected static final int TABLE_SIZE
protected static final int MAX_HASH_COLLISIONS
protected static final int MULTIPLIERS_SIZE
protected static final int MULTIPLIERS_MASK
protected int fTableSize
protected SymbolHash.Entry[] fBuckets
protected int fNum
protected int[] fHashMultipliers
null
 if the default String.hashCode() function should be used.public SymbolHash()
public SymbolHash(int size)
size - the size of the key table.public void put(java.lang.Object key,
       java.lang.Object value)
key - value - public java.lang.Object get(java.lang.Object key)
key - public int getLength()
public int getValues(java.lang.Object[] elements,
            int from)
elements - the array to store the elementsfrom - where to start store element in the arraypublic java.lang.Object[] getEntries()
public SymbolHash makeClone()
public void clear()
protected SymbolHash.Entry search(java.lang.Object key, int bucket)
protected int hash(java.lang.Object key)
key - The key to hash.protected void rehash()
protected void rebalance()
Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.