|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.xerces.util.SymbolHash
This class is an unsynchronized hash table primarily used for String to Object mapping.
The hash code uses the same algorithm as SymbolTable class.
Inner Class Summary | |
protected static class |
SymbolHash.Entry
This class is a key table entry. |
Field Summary | |
protected SymbolHash.Entry[] |
fBuckets
Buckets. |
protected int[] |
fHashMultipliers
Array of randomly selected hash function multipliers or null
if the default String.hashCode() function should be used. |
protected int |
fNum
Number of elements. |
protected int |
fTableSize
Actual table size |
protected static int |
MAX_HASH_COLLISIONS
Maximum hash collisions per bucket. |
protected static int |
MULTIPLIERS_MASK
|
protected static int |
MULTIPLIERS_SIZE
|
protected static int |
TABLE_SIZE
Default table size. |
Constructor Summary | |
SymbolHash()
Constructs a key table with the default size. |
|
SymbolHash(int size)
Constructs a key table with a given size. |
Method Summary | |
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
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.Constructor Detail |
public SymbolHash()
public SymbolHash(int size)
size
- the size of the key table.Method Detail |
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()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |