Class CharKeyOpenHashMap
- java.lang.Object
-
- com.uwyn.jhighlight.pcj.map.AbstractCharKeyMap
-
- com.uwyn.jhighlight.pcj.map.CharKeyOpenHashMap
-
- All Implemented Interfaces:
CharKeyMap,Serializable,Cloneable
public class CharKeyOpenHashMap extends AbstractCharKeyMap implements CharKeyMap, Cloneable, Serializable
This class represents open addressing hash table based maps from char values to objects.- Since:
- 1.0
- Version:
- 1.3 21-08-2003 19:45
- Author:
- Søren Bak
- See Also:
CharKeyChainedHashMap,Map, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CAPACITYThe default capacity of this map.static intDEFAULT_GROWTH_CHUNKThe default chunk size with which to increase the capacity of this map.static doubleDEFAULT_GROWTH_FACTORThe default factor with which to increase the capacity of this map.static doubleDEFAULT_LOAD_FACTORThe default load factor of this map.
-
Constructor Summary
Constructors Constructor Description CharKeyOpenHashMap()Creates a new hash map with capacity 11, a relative growth factor of 1.0, and a load factor of 75%.CharKeyOpenHashMap(double loadFactor)Creates a new hash map with a capacity of 11, a relative growth factor of 1.0, and a specified load factor.CharKeyOpenHashMap(int capacity)Creates a new hash map with a specified capacity, a relative growth factor of 1.0, and a load factor of 75%.CharKeyOpenHashMap(int capacity, double loadFactor)Creates a new hash map with a specified capacity and load factor, and a relative growth factor of 1.0.CharKeyOpenHashMap(int capacity, double loadFactor, double growthFactor)Creates a new hash map with a specified capacity, load factor, and relative growth factor.CharKeyOpenHashMap(int capacity, double loadFactor, int growthChunk)Creates a new hash map with a specified capacity, load factor, and absolute growth factor.CharKeyOpenHashMap(CharHashFunction keyhash)Creates a new hash map with capacity 11, a relative growth factor of 1.0, and a load factor of 75%.CharKeyOpenHashMap(CharHashFunction keyhash, double loadFactor)Creates a new hash map with a capacity of 11, a relative growth factor of 1.0, and a specified load factor.CharKeyOpenHashMap(CharHashFunction keyhash, int capacity)Creates a new hash map with a specified capacity, a relative growth factor of 1.0, and a load factor of 75%.CharKeyOpenHashMap(CharHashFunction keyhash, int capacity, double loadFactor)Creates a new hash map with a specified capacity and load factor, and a relative growth factor of 1.0.CharKeyOpenHashMap(CharHashFunction keyhash, int capacity, double loadFactor, double growthFactor)Creates a new hash map with a specified capacity, load factor, and relative growth factor.CharKeyOpenHashMap(CharHashFunction keyhash, int capacity, double loadFactor, int growthChunk)Creates a new hash map with a specified capacity, load factor, and absolute growth factor.CharKeyOpenHashMap(CharKeyMap map)Creates a new hash map with the same mappings as a specified map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clears this map.Objectclone()Returns a clone of this hash map.booleancontainsKey(char key)Indicates whether this map contains a mapping from a specified key.booleancontainsValue(Object value)Indicates whether this map contains a mapping to a specified value.CharKeyMapIteratorentries()Returns an iterator over the entries of this map.Objectget(char key)Maps a specified key to a value.booleanisEmpty()Indicates whether this map is empty.CharSetkeySet()Returns a set view of the keys of this map.Objectput(char key, Object value)Adds a mapping from a specified key to a specified value to this map.Objectremove(char key)Removes the mapping from a specified key from this map.intsize()Returns the size of this map.Collectionvalues()Returns a collection view of the values in this map.-
Methods inherited from class com.uwyn.jhighlight.pcj.map.AbstractCharKeyMap
equals, hashCode, putAll, toString, trimToSize
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.uwyn.jhighlight.pcj.map.CharKeyMap
equals, hashCode, putAll
-
-
-
-
Field Detail
-
DEFAULT_GROWTH_FACTOR
public static final double DEFAULT_GROWTH_FACTOR
The default factor with which to increase the capacity of this map.- See Also:
- Constant Field Values
-
DEFAULT_GROWTH_CHUNK
public static final int DEFAULT_GROWTH_CHUNK
The default chunk size with which to increase the capacity of this map.- See Also:
- Constant Field Values
-
DEFAULT_CAPACITY
public static final int DEFAULT_CAPACITY
The default capacity of this map.- See Also:
- Constant Field Values
-
DEFAULT_LOAD_FACTOR
public static final double DEFAULT_LOAD_FACTOR
The default load factor of this map.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CharKeyOpenHashMap
public CharKeyOpenHashMap()
Creates a new hash map with capacity 11, a relative growth factor of 1.0, and a load factor of 75%.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharKeyMap map)
Creates a new hash map with the same mappings as a specified map.- Parameters:
map- the map whose mappings to put into the new map.- Throws:
NullPointerException- if map is null.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(int capacity)
Creates a new hash map with a specified capacity, a relative growth factor of 1.0, and a load factor of 75%.- Parameters:
capacity- the initial capacity of the map.- Throws:
IllegalArgumentException- if capacity is negative.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(double loadFactor)
Creates a new hash map with a capacity of 11, a relative growth factor of 1.0, and a specified load factor.- Parameters:
loadFactor- the load factor of the map.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(int capacity, double loadFactor)Creates a new hash map with a specified capacity and load factor, and a relative growth factor of 1.0.- Parameters:
capacity- the initial capacity of the map.loadFactor- the load factor of the map.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(int capacity, double loadFactor, double growthFactor)Creates a new hash map with a specified capacity, load factor, and relative growth factor.The map capacity increases to capacity()*(1+growthFactor). This strategy is good for avoiding many capacity increases, but the amount of wasted memory is approximately the size of the map.
- Parameters:
capacity- the initial capacity of the map.loadFactor- the load factor of the map.growthFactor- the relative amount with which to increase the the capacity when a capacity increase is needed.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive; if growthFactor is not positive.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(int capacity, double loadFactor, int growthChunk)Creates a new hash map with a specified capacity, load factor, and absolute growth factor.The map capacity increases to capacity()+growthChunk. This strategy is good for avoiding wasting memory. However, an overhead is potentially introduced by frequent capacity increases.
- Parameters:
capacity- the initial capacity of the map.loadFactor- the load factor of the map.growthChunk- the absolute amount with which to increase the the capacity when a capacity increase is needed.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive; if growthChunk is not positive.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharHashFunction keyhash)
Creates a new hash map with capacity 11, a relative growth factor of 1.0, and a load factor of 75%.- Parameters:
keyhash- the hash function to use when hashing keys.- Throws:
NullPointerException- if keyhash is null.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharHashFunction keyhash, int capacity)
Creates a new hash map with a specified capacity, a relative growth factor of 1.0, and a load factor of 75%.- Parameters:
keyhash- the hash function to use when hashing keys.capacity- the initial capacity of the map.- Throws:
IllegalArgumentException- if capacity is negative.NullPointerException- if keyhash is null.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharHashFunction keyhash, double loadFactor)
Creates a new hash map with a capacity of 11, a relative growth factor of 1.0, and a specified load factor.- Parameters:
keyhash- the hash function to use when hashing keys.loadFactor- the load factor of the map.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive.NullPointerException- if keyhash is null.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharHashFunction keyhash, int capacity, double loadFactor)
Creates a new hash map with a specified capacity and load factor, and a relative growth factor of 1.0.- Parameters:
keyhash- the hash function to use when hashing keys.capacity- the initial capacity of the map.loadFactor- the load factor of the map.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive.NullPointerException- if keyhash is null.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharHashFunction keyhash, int capacity, double loadFactor, double growthFactor)
Creates a new hash map with a specified capacity, load factor, and relative growth factor.The map capacity increases to capacity()*(1+growthFactor). This strategy is good for avoiding many capacity increases, but the amount of wasted memory is approximately the size of the map.
- Parameters:
keyhash- the hash function to use when hashing keys.capacity- the initial capacity of the map.loadFactor- the load factor of the map.growthFactor- the relative amount with which to increase the the capacity when a capacity increase is needed.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive; if growthFactor is not positive.NullPointerException- if keyhash is null.
-
CharKeyOpenHashMap
public CharKeyOpenHashMap(CharHashFunction keyhash, int capacity, double loadFactor, int growthChunk)
Creates a new hash map with a specified capacity, load factor, and absolute growth factor.The map capacity increases to capacity()+growthChunk. This strategy is good for avoiding wasting memory. However, an overhead is potentially introduced by frequent capacity increases.
- Parameters:
keyhash- the hash function to use when hashing keys.capacity- the initial capacity of the map.loadFactor- the load factor of the map.growthChunk- the absolute amount with which to increase the the capacity when a capacity increase is needed.- Throws:
IllegalArgumentException- if capacity is negative; if loadFactor is not positive; if growthChunk is not positive.NullPointerException- if keyhash is null.
-
-
Method Detail
-
keySet
public CharSet keySet()
Description copied from interface:CharKeyMapReturns a set view of the keys of this map. The set is not directly modifiable, but changes to the map are reflected in the set.- Specified by:
keySetin interfaceCharKeyMap- Returns:
- a set view of the keys of this map.
-
put
public Object put(char key, Object value)
Description copied from interface:CharKeyMapAdds a mapping from a specified key to a specified value to this map. If a mapping already exists for the specified key it is overwritten by the new mapping.- Specified by:
putin interfaceCharKeyMap- Parameters:
key- the key of the mapping to add to this map.value- the value of the mapping to add to this map.- Returns:
- the old value (which can be null) if a mapping from the specified key already existed in this map; returns null otherwise.
-
values
public Collection values()
Description copied from interface:CharKeyMapReturns a collection view of the values in this map. The collection is not modifiable, but changes to the map are reflected in the collection.- Specified by:
valuesin interfaceCharKeyMap- Returns:
- a collection view of the values in this map.
-
clone
public Object clone()
Returns a clone of this hash map.
-
entries
public CharKeyMapIterator entries()
Description copied from interface:CharKeyMapReturns an iterator over the entries of this map. It is possible to remove entries from this map using the iterator provided that the concrete map supports removal of entries.- Specified by:
entriesin interfaceCharKeyMap- Returns:
- an iterator over the entries of this map.
-
clear
public void clear()
Description copied from interface:CharKeyMapClears this map.- Specified by:
clearin interfaceCharKeyMap- Overrides:
clearin classAbstractCharKeyMap
-
containsKey
public boolean containsKey(char key)
Description copied from interface:CharKeyMapIndicates whether this map contains a mapping from a specified key.- Specified by:
containsKeyin interfaceCharKeyMap- Overrides:
containsKeyin classAbstractCharKeyMap- Parameters:
key- the key to test for.- Returns:
- true if this map contains a mapping from the specified key; returns false otherwise.
-
containsValue
public boolean containsValue(Object value)
Description copied from interface:CharKeyMapIndicates whether this map contains a mapping to a specified value.- Specified by:
containsValuein interfaceCharKeyMap- Overrides:
containsValuein classAbstractCharKeyMap- Parameters:
value- the value to test for.- Returns:
- true if this map contains at least one mapping to the specified value; returns false otherwise.
-
get
public Object get(char key)
Description copied from interface:CharKeyMapMaps a specified key to a value.- Specified by:
getin interfaceCharKeyMap- Overrides:
getin classAbstractCharKeyMap- Parameters:
key- the key to map to a value.- Returns:
- the value that the specified key maps to; returns null, if no mapping exists for the specified key.
-
isEmpty
public boolean isEmpty()
Description copied from interface:CharKeyMapIndicates whether this map is empty.- Specified by:
isEmptyin interfaceCharKeyMap- Overrides:
isEmptyin classAbstractCharKeyMap- Returns:
- true if this map is empty; returns false otherwise.
-
remove
public Object remove(char key)
Description copied from interface:CharKeyMapRemoves the mapping from a specified key from this map.- Specified by:
removein interfaceCharKeyMap- Overrides:
removein classAbstractCharKeyMap- Parameters:
key- the key whose mapping to remove from this map.- Returns:
- the old value (which can be null) if a mapping from the specified key already existed in this map; returns null otherwise.
-
size
public int size()
Description copied from interface:CharKeyMapReturns the size of this map. The size is defined as the number of mappings from keys to values.- Specified by:
sizein interfaceCharKeyMap- Overrides:
sizein classAbstractCharKeyMap- Returns:
- the size of this map.
-
-