|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.mahout.math.PersistentObject
org.apache.mahout.math.set.AbstractSet
org.apache.mahout.math.map.AbstractIntFloatMap
org.apache.mahout.math.map.OpenIntFloatHashMap
public class OpenIntFloatHashMap
Open hash map from int keys to float values.
| Nested Class Summary | |
|---|---|
class |
OpenIntFloatHashMap.MapElement
|
class |
OpenIntFloatHashMap.MapIterator
|
| Field Summary | |
|---|---|
protected static byte |
FREE
|
protected int |
freeEntries
The number of table entries in state==FREE. |
protected static byte |
FULL
|
protected static int |
NO_KEY_VALUE
|
protected static byte |
REMOVED
|
protected byte[] |
state
The state of each hash table entry (FREE, FULL, REMOVED). |
protected int[] |
table
The hash table keys. |
protected float[] |
values
The hash table values. |
| Fields inherited from class org.apache.mahout.math.set.AbstractSet |
|---|
DEFAULT_CAPACITY, DEFAULT_MAX_LOAD_FACTOR, DEFAULT_MIN_LOAD_FACTOR, distinct, highWaterMark, lowWaterMark, maxLoadFactor, minLoadFactor |
| Constructor Summary | |
|---|---|
OpenIntFloatHashMap()
Constructs an empty map with default capacity and default load factors. |
|
OpenIntFloatHashMap(int initialCapacity)
Constructs an empty map with the specified initial capacity and default load factors. |
|
OpenIntFloatHashMap(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
Constructs an empty map with the specified initial capacity and the specified minimum and maximum load factor. |
|
| Method Summary | |
|---|---|
float |
adjustOrPutValue(int key,
float newValue,
float incrValue)
Check the map for a key. |
void |
clear()
Removes all (key,value) associations from the receiver. |
Object |
clone()
Returns a deep copy of the receiver. |
boolean |
containsKey(int key)
Returns true if the receiver contains the specified key. |
boolean |
containsValue(float value)
Returns true if the receiver contains the specified value. |
void |
ensureCapacity(int minCapacity)
Ensures that the receiver can hold at least the specified number of associations without needing to allocate new internal memory. |
boolean |
forEachKey(IntProcedure procedure)
Applies a procedure to each key of the receiver, if any. |
boolean |
forEachPair(IntFloatProcedure procedure)
Applies a procedure to each (key,value) pair of the receiver, if any. |
float |
get(int key)
Returns the value associated with the specified key. |
protected void |
getInternalFactors(int[] capacity,
double[] minLoadFactor,
double[] maxLoadFactor)
Access for unit tests. |
protected int |
indexOfInsertion(int key)
|
protected int |
indexOfKey(int key)
|
protected int |
indexOfValue(float value)
|
Iterator<OpenIntFloatHashMap.MapElement> |
iterator()
|
void |
keys(IntArrayList list)
Fills all keys contained in the receiver into the specified list. |
void |
pairsMatching(IntFloatProcedure condition,
IntArrayList keyList,
FloatArrayList valueList)
Fills all pairs satisfying a given condition into the specified lists. |
boolean |
put(int key,
float value)
Associates the given key with the given value. |
protected void |
rehash(int newCapacity)
Rehashes the contents of the receiver into a new table with a smaller or larger capacity. |
boolean |
removeKey(int key)
Removes the given key with its associated element from the receiver, if present. |
protected void |
setUp(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
Initializes the receiver. |
void |
trimToSize()
Trims the capacity of the receiver to be the receiver's current size. |
void |
values(FloatArrayList list)
Fills all values contained in the receiver into the specified list. |
| Methods inherited from class org.apache.mahout.math.map.AbstractIntFloatMap |
|---|
assign, assign, copy, equals, hashCode, keys, keysSortedByValue, pairsSortedByKey, pairsSortedByValue, toString, toStringByValue, values |
| Methods inherited from class org.apache.mahout.math.set.AbstractSet |
|---|
chooseGrowCapacity, chooseHighWaterMark, chooseLowWaterMark, chooseMeanCapacity, chooseShrinkCapacity, equalsMindTheNull, isEmpty, nextPrime, size |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final byte FREE
protected static final byte FULL
protected static final byte REMOVED
protected static final int NO_KEY_VALUE
protected int[] table
protected float[] values
protected byte[] state
protected int freeEntries
| Constructor Detail |
|---|
public OpenIntFloatHashMap()
public OpenIntFloatHashMap(int initialCapacity)
initialCapacity - the initial capacity of the map.
IllegalArgumentException - if the initial capacity is less than zero.
public OpenIntFloatHashMap(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
initialCapacity - the initial capacity.minLoadFactor - the minimum load factor.maxLoadFactor - the maximum load factor.
IllegalArgumentException - if initialCapacity < 0 || (minLoadFactor < 0.0 || minLoadFactor >= 1.0) ||
(maxLoadFactor <= 0.0 || maxLoadFactor >= 1.0) || (minLoadFactor >=
maxLoadFactor).| Method Detail |
|---|
public void clear()
clear in class AbstractSetpublic Object clone()
clone in class PersistentObjectpublic boolean containsKey(int key)
containsKey in class AbstractIntFloatMappublic boolean containsValue(float value)
containsValue in class AbstractIntFloatMappublic void ensureCapacity(int minCapacity)
This method never need be called; it is for performance tuning only. Calling this method before put()ing a large number of associations boosts performance, because the receiver will grow only once instead of potentially many times and hash collisions get less probable.
ensureCapacity in class AbstractSetminCapacity - the desired minimum capacity.public boolean forEachKey(IntProcedure procedure)
forEachKey in class AbstractIntFloatMapprocedure - the procedure to be applied. Stops iteration if the procedure returns false, otherwise
continues.
public boolean forEachPair(IntFloatProcedure procedure)
forEachKey(IntProcedure).
forEachPair in class AbstractIntFloatMapprocedure - the procedure to be applied. Stops iteration if the procedure returns false, otherwise
continues.
public float get(int key)
get in class AbstractIntFloatMapkey - the key to be searched for.
protected int indexOfInsertion(int key)
key - the key to be added to the receiver.
protected int indexOfKey(int key)
key - the key to be searched in the receiver.
protected int indexOfValue(float value)
value - the value to be searched in the receiver.
public void keys(IntArrayList list)
forEachKey(IntProcedure).
This method can be used to iterate over the keys of the receiver.
keys in class AbstractIntFloatMaplist - the list to be filled, can have any size.public Iterator<OpenIntFloatHashMap.MapElement> iterator()
public void pairsMatching(IntFloatProcedure condition,
IntArrayList keyList,
FloatArrayList valueList)
forEachKey(IntProcedure). Example:
IntFloatProcedure condition = new IntFloatProcedure() { // match even values only
public boolean apply(int key, float value) { return value%2==0; }
}
keys = (8,7,6), values = (1,2,2) --> keyList = (6,8), valueList = (2,1)
pairsMatching in class AbstractIntFloatMapcondition - the condition to be matched. Takes the current key as first and the current value as second
argument.keyList - the list to be filled with keys, can have any size.valueList - the list to be filled with values, can have any size.
public boolean put(int key,
float value)
put in class AbstractIntFloatMapkey - the key the value shall be associated with.value - the value to be associated.
public float adjustOrPutValue(int key,
float newValue,
float incrValue)
AbstractIntFloatMap
adjustOrPutValue in class AbstractIntFloatMapkey - the key.newValue - the value to store if the key is not currently in the map.incrValue - the value to be added to the current value in the map.protected void rehash(int newCapacity)
public boolean removeKey(int key)
removeKey in class AbstractIntFloatMapkey - the key to be removed from the receiver.
protected final void setUp(int initialCapacity,
double minLoadFactor,
double maxLoadFactor)
setUp in class AbstractSetinitialCapacity - the initial capacity of the receiver.minLoadFactor - the minLoadFactor of the receiver.maxLoadFactor - the maxLoadFactor of the receiver.
IllegalArgumentException - if initialCapacity < 0 || (minLoadFactor < 0.0 || minLoadFactor >= 1.0) ||
(maxLoadFactor <= 0.0 || maxLoadFactor >= 1.0) || (minLoadFactor >=
maxLoadFactor).public void trimToSize()
trimToSize in class AbstractSetpublic void values(FloatArrayList list)
forEachKey(IntProcedure).
This method can be used to iterate over the values of the receiver.
values in class AbstractIntFloatMaplist - the list to be filled, can have any size.
protected void getInternalFactors(int[] capacity,
double[] minLoadFactor,
double[] maxLoadFactor)
capacity - minLoadFactor - maxLoadFactor -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||