Package org.jacop.jasat.utils.structures
Class IntHashMap<E>
java.lang.Object
org.jacop.jasat.utils.structures.IntHashMap<E>
an efficient map with ints as keys. This is a hashtable with arrays.
- Version:
- 4.10
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final classiterator over valuesprivate final classclass used to iterate on the keys of the map -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate static final intprivate static final intprivate static final intprivate int[][]private E[][] -
Constructor Summary
ConstructorsModifierConstructorDescriptionpublic constructorprivateIntHashMap(int size) builds a new map with given size -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()clear the table, removing all elementsbooleancontainsKey(int key) check if the key is in the tablebooleancontainsKey(Object arg0) private voiddouble the size of the tableentrySet()iterates over all entries in the mapprivate intfind(int key, int index) try to find the key in the table.get(int key) get the value associated with key, or null otherwiseprivate inthash(int key, int length) hash an integer and returns the result modulo lengthbooleanisEmpty()keySet()put the value associated with the keybooleanremove(int key) remove the key from the tableintsize()
-
Field Details
-
HASH_PRIME
private static final int HASH_PRIME- See Also:
-
INITIAL_SIZE
private static final int INITIAL_SIZE- See Also:
-
MAX_BUCKET_SIZE
private static final int MAX_BUCKET_SIZE- See Also:
-
tableKey
private int[][] tableKey -
tableValue
-
cardinal
private int cardinal
-
-
Constructor Details
-
IntHashMap
private IntHashMap(int size) builds a new map with given size- Parameters:
size- the size
-
IntHashMap
public IntHashMap()public constructor
-
-
Method Details
-
clear
public void clear()clear the table, removing all elements -
containsKey
public boolean containsKey(int key) check if the key is in the table- Parameters:
key- the key- Returns:
- true if the key is in the table
-
get
get the value associated with key, or null otherwise- Parameters:
key- the key- Returns:
- the value associated with key, or null otherwise
-
isEmpty
public boolean isEmpty()- Returns:
- true if the table is empty
-
put
put the value associated with the key- Parameters:
key- the keyvalue- the value- Returns:
- the old value, or null
-
remove
public boolean remove(int key) remove the key from the table- Parameters:
key- the key to remove- Returns:
- true if the key was in the table
-
size
public int size() -
containsKey
-
doubleSize
private void doubleSize()double the size of the table -
find
private int find(int key, int index) try to find the key in the table. On success, will return the index of the key in its bucket; otherwise, will return -1- Parameters:
key- the key to searchindex- the hash of the key- Returns:
- the index of the key in the tableKey[hash(key)], or -1 if the key is not present
-
hash
private int hash(int key, int length) hash an integer and returns the result modulo length- Parameters:
key- the int to hashlength- the length (space of keys)- Returns:
- an int between 0 and length-1 inclusive
-
keySet
- Returns:
- the set of keys of the map
-
entrySet
iterates over all entries in the map- Returns:
- iterator for enumeration of elements in this map
-