An open addressed Map implementation for float keys and byte values.
Created: Sun Nov 4 08:52:45 2001
TFloatByteHashMap
public TFloatByteHashMap()
Creates a new TFloatByteHashMap
instance with the default
capacity and load factor.
TFloatByteHashMap
public TFloatByteHashMap(TFloatHashingStrategy strategy)
Creates a new TFloatByteHashMap
instance with the default
capacity and load factor.
strategy
- used to compute hash codes and to compare keys.
TFloatByteHashMap
public TFloatByteHashMap(int initialCapacity)
Creates a new TFloatByteHashMap
instance with a prime
capacity equal to or greater than initialCapacity and
with the default load factor.
initialCapacity
- an int
value
TFloatByteHashMap
public TFloatByteHashMap(int initialCapacity,
TFloatHashingStrategy strategy)
Creates a new TFloatByteHashMap
instance whose capacity
is the next highest prime above initialCapacity + 1
unless that value is already prime.
initialCapacity
- an int
valuestrategy
- used to compute hash codes and to compare keys.
TFloatByteHashMap
public TFloatByteHashMap(int initialCapacity,
float loadFactor)
Creates a new TFloatByteHashMap
instance with a prime
capacity equal to or greater than initialCapacity and
with the specified load factor.
initialCapacity
- an int
valueloadFactor
- a float
value
TFloatByteHashMap
public TFloatByteHashMap(int initialCapacity,
float loadFactor,
TFloatHashingStrategy strategy)
Creates a new TFloatByteHashMap
instance with a prime
value at or near the specified capacity and load factor.
initialCapacity
- used to find a prime capacity for the table.loadFactor
- used to calculate the threshold over which
rehashing takes place.strategy
- used to compute hash codes and to compare keys.
adjustOrPutValue
public byte adjustOrPutValue(float key,
byte adjust_amount,
byte put_amount)
Adjusts the primitive value mapped to the key if the key is present in the map.
Otherwise, the initial_value is put in the map.
key
- the key of the value to incrementadjust_amount
- the amount to adjust the value byput_amount
- the value put into the map if the key is not initial present
- the value present in the map after the adjustment or put operation
adjustValue
public boolean adjustValue(float key,
byte amount)
Adjusts the primitive value mapped to key.
key
- the key of the value to incrementamount
- the amount to adjust the value by.
- true if a mapping was found and modified.
clear
public void clear()
Empties the map.
clone
public Object clone()
- a deep clone of this collection
containsKey
public boolean containsKey(float key)
checks for the present of key in the keys of the map.
containsValue
public boolean containsValue(byte val)
checks for the presence of val in the values of the map.
equals
public boolean equals(Object other)
Compares this map with another map for equality of their stored
entries.
forEachEntry
public boolean forEachEntry(TFloatByteProcedure procedure)
Executes procedure for each key/value entry in the
map.
procedure
- a TOFloatByteProcedure
value
- false if the loop over the entries terminated because
the procedure returned false for some entry.
forEachKey
public boolean forEachKey(TFloatProcedure procedure)
Executes procedure for each key in the map.
procedure
- a TFloatProcedure
value
- false if the loop over the keys terminated because
the procedure returned false for some key.
forEachValue
public boolean forEachValue(TByteProcedure procedure)
Executes procedure for each value in the map.
procedure
- a TByteProcedure
value
- false if the loop over the values terminated because
the procedure returned false for some value.
get
public byte get(float key)
retrieves the value for key
- the value of key or (float)0 if no such mapping exists.
getValues
public byte[] getValues()
Returns the values of the map.
hashCode
public int hashCode()
increment
public boolean increment(float key)
Increments the primitive value mapped to key by 1
key
- the key of the value to increment
- true if a mapping was found and modified.
iterator
public TFloatByteIterator iterator()
- a TFloatByteIterator with access to this map's keys and values
keys
public float[] keys()
returns the keys of the map.
keys
public float[] keys(float[] a)
returns the keys of the map.
a
- the array into which the elements of the list are to
be stored, if it is big enough; otherwise, a new array of the
same type is allocated for this purpose.
put
public byte put(float key,
byte value)
Inserts a key/value pair into the map.
key
- an float
valuevalue
- an byte
value
- the previous value associated with key,
or (float)0 if none was found.
putIfAbsent
public byte putIfAbsent(float key,
byte value)
Inserts a key/value pair into the map if the specified key is not already
associated with a value.
key
- an float
valuevalue
- an byte
value
- the previous value associated with key,
or (float)0 if none was found.
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
rehash
protected void rehash(int newCapacity)
rehashes the map to the new capacity.
newCapacity
- an int
value
remove
public byte remove(float key)
Deletes a key/value pair from the map.
- an
byte
value, or (float)0 if no mapping for key exists
removeAt
protected void removeAt(int index)
removes the mapping at index from the map.
retainEntries
public boolean retainEntries(TFloatByteProcedure procedure)
Retains only those entries in the map for which the procedure
returns a true value.
procedure
- determines which entries to keep
- true if the map was modified.
setUp
protected int setUp(int initialCapacity)
initializes the hashtable to a prime capacity which is at least
initialCapacity + 1.
initialCapacity
- an int
value
- the actual capacity chosen
transformValues
public void transformValues(TByteFunction function)
Transform the values in this map using function.
function
- a TByteFunction
value
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException