Class FloatDoubleHashMap
- java.lang.Object
-
- org.eclipse.collections.impl.primitive.AbstractDoubleIterable
-
- org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableDoubleValuesMap
-
- org.eclipse.collections.impl.map.mutable.primitive.FloatDoubleHashMap
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,DoubleIterable,DoubleValuesMap,FloatDoubleMap,MutableDoubleValuesMap,MutableFloatDoubleMap,PrimitiveIterable,MutableFloatKeysMap,FloatKeysMap
public class FloatDoubleHashMap extends AbstractMutableDoubleValuesMap implements MutableFloatDoubleMap, java.io.Externalizable, MutableFloatKeysMap
This file was automatically generated from template file primitivePrimitiveHashMap.stg.- Since:
- 3.0.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classFloatDoubleHashMap.InternalDoubleIteratorprivate classFloatDoubleHashMap.KeySetprivate classFloatDoubleHashMap.KeySetIteratorprivate classFloatDoubleHashMap.KeysViewprivate classFloatDoubleHashMap.KeyValuesViewprivate classFloatDoubleHashMap.ValuesCollection-
Nested classes/interfaces inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableDoubleValuesMap
AbstractMutableDoubleValuesMap.AbstractDoubleValuesCollection, AbstractMutableDoubleValuesMap.SentinelValues
-
-
Field Summary
Fields Modifier and Type Field Description private static intCACHE_LINE_SIZEprivate booleancopyKeysOnWriteprivate static intDEFAULT_INITIAL_CAPACITYprivate static floatEMPTY_KEYprivate static doubleEMPTY_VALUEprivate static intINITIAL_LINEAR_PROBEprivate static intKEY_SIZEprivate float[]keysprivate intoccupiedWithDataprivate intoccupiedWithSentinelsprivate static floatREMOVED_KEYprivate AbstractMutableDoubleValuesMap.SentinelValuessentinelValuesprivate static longserialVersionUIDprivate double[]values
-
Constructor Summary
Constructors Constructor Description FloatDoubleHashMap()FloatDoubleHashMap(int initialCapacity)FloatDoubleHashMap(FloatDoubleMap map)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private voidaddKeyValueAtIndex(float key, double value, int index)doubleaddToValue(float key, double toBeAdded)Increments and updates the value associated with the key, if a value exists, or sets the value to be the specified value if one does not.protected voidallocateTable(int sizeToAllocate)booleanallSatisfyKeyValue(FloatDoublePredicate predicate)MutableFloatDoubleMapasSynchronized()Returns a synchronized view of this map, delegating all operations to this map but ensuring only one caller has access to the map at a time.MutableFloatDoubleMapasUnmodifiable()Returns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationExceptionfor all mutating operations.voidclear()Removes all entries from this map.voidcompact()Deprecated.since 12.0 - UsetrimToSize()insteadbooleancontainsKey(float key)Returns whether or not the key is present in the map.private voidcopyKeys()MutableDoubleIteratordoubleIterator()Returns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.booleanequals(java.lang.Object obj)Follows the same general contract asMap.equals(Object).private doublefastGetIfAbsent(float key, double ifAbsent)MutableDoubleFloatMapflipUniqueValues()Return the DoubleFloatMap that is obtained by flipping the direction of this map and making the associations from value to key.voidforEachKey(FloatProcedure procedure)Iterates through each key in the map, invoking the procedure for each.voidforEachKeyValue(FloatDoubleProcedure procedure)Iterates through each key/value pair in the map, invoking the procedure for each.doubleget(float key)Retrieves the value associated with the key.doublegetAndPut(float key, double putValue, double defaultValue)Retrieves the value associated with the key if one exists; associates a putValue with the key.protected doublegetEmptyValue()private doublegetForSentinel(float key, double ifAbsent)doublegetIfAbsent(float key, double ifAbsent)Retrieves the value associated with the key, returning the specified default value if no such mapping exists.doublegetIfAbsentPut(float key, double value)Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.doublegetIfAbsentPut(float key, DoubleFunction0 function)Retrieves the value associated with the key if one exists; if it does not, invokes the supplier and associates the result with the key.<P> doublegetIfAbsentPutWith(float key, DoubleFunction<? super P> function, P parameter)Retrieves the value associated with the key if one exists; if it does not, invokes the value function with the parameter and associates the result with the key.doublegetIfAbsentPutWithKey(float key, FloatToDoubleFunction function)Retrieves the value associated with the key if one exists; if it does not, associates the result of invoking the value function with the key.protected intgetOccupiedWithData()doublegetOrThrow(float key)Retrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.protected AbstractMutableDoubleValuesMap.SentinelValuesgetSentinelValues()protected intgetTableSize()protected doublegetValueAtIndex(int index)inthashCode()Follows the same general contract asMap.hashCode().<V> VinjectInto(V injectedValue, ObjectDoubleToObjectFunction<? super V,? extends V> function)private static booleanisEmptyKey(float key)private static booleanisNonSentinel(float key)protected booleanisNonSentinelAtIndex(int index)private static booleanisRemovedKey(float key)MutableFloatSetkeySet()Returns a set containing all the keys in this map.LazyFloatIterablekeysView()Returns a view of the keys in this map.RichIterable<FloatDoublePair>keyValuesView()Returns a view of the key/value pairs in this map.private intmask(int spread)private intmaxOccupiedWithData()static FloatDoubleHashMapnewWithKeysValues(float key1, double value1)static FloatDoubleHashMapnewWithKeysValues(float key1, double value1, float key2, double value2)static FloatDoubleHashMapnewWithKeysValues(float key1, double value1, float key2, double value2, float key3, double value3)static FloatDoubleHashMapnewWithKeysValues(float key1, double value1, float key2, double value2, float key3, double value3, float key4, double value4)(package private) intprobe(float element)(package private) intprobeThree(float element, int removedIndex)(package private) intprobeTwo(float element, int removedIndex)voidput(float key, double value)Associates a value with the specified key.voidputAll(FloatDoubleMap map)Puts all of the key/value mappings from the specified map into this map.private voidputForEmptySentinel(double value)private voidputForRemovedSentinel(double value)voidreadExternal(java.io.ObjectInput in)private voidrehash(int newCapacity)private voidrehashAndGrow()FloatDoubleHashMapreject(FloatDoublePredicate predicate)Return a copy of this map containing only the key/value pairs that do not match the predicate.voidremove(float key)Removes the mapping associated with the key, if one exists, from the map.voidremoveKey(float key)Removes the mapping associated with the key, if one exists, from the map.private voidremoveKeyAtIndex(int index)doubleremoveKeyIfAbsent(float key, double value)Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key.FloatDoubleHashMapselect(FloatDoublePredicate predicate)Return a copy of this map containing only the key/value pairs that match the predicate.protected voidsetSentinelValuesNull()private doubleslowGetIfAbsent(float key, double ifAbsent)private doubleslowGetIfAbsentTwo(float key, double ifAbsent)private intsmallestPowerOfTwoGreaterThan(int n)(package private) intspreadAndMask(float element)(package private) intspreadTwoAndMask(float element)ImmutableFloatDoubleMaptoImmutable()Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.java.lang.StringtoString()Returns a string with the elements of this iterable separated by commas with spaces and enclosed in square brackets.booleantrimToSize()doubleupdateValue(float key, double initialValueIfAbsent, DoubleToDoubleFunction function)Updates or sets the value associated with the key by applying the function to the existing value, if one exists, or to the specified initial value if one does not.voidupdateValues(FloatDoubleToDoubleFunction function)Updates the values in-place.MutableDoubleCollectionvalues()Returns the values in this map as a separate collection.FloatDoubleHashMapwithKeysValues(float key1, double value1, float key2, double value2)FloatDoubleHashMapwithKeysValues(float key1, double value1, float key2, double value2, float key3, double value3)FloatDoubleHashMapwithKeysValues(float key1, double value1, float key2, double value2, float key3, double value3, float key4, double value4)FloatDoubleHashMapwithKeyValue(float key1, double value1)Associates a value with the specified key.FloatDoubleHashMapwithoutAllKeys(FloatIterable keys)Removes the mappings associated with all the keys, if they exist, from this map.FloatDoubleHashMapwithoutKey(float key)Removes the mapping associated with the key, if one exists, from this map.voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableDoubleValuesMap
addEmptyKeyValue, addRemovedKeyValue, allSatisfy, anySatisfy, appendString, chunk, collect, contains, containsAll, containsValue, count, detectIfNone, each, forEachValue, isEmpty, max, min, notEmpty, reject, removeEmptyKey, removeRemovedKey, select, size, sum, toArray, toArray
-
Methods inherited from class org.eclipse.collections.impl.primitive.AbstractDoubleIterable
asLazy, average, maxIfEmpty, median, minIfEmpty, toBag, toList, toSet, toSortedArray, toSortedList
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.DoubleIterable
allSatisfy, anySatisfy, asLazy, average, averageIfEmpty, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, contains, containsAll, containsAll, containsAny, containsAny, containsNone, containsNone, count, detectIfNone, each, flatCollect, forEach, injectIntoBoolean, injectIntoByte, injectIntoChar, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, injectIntoShort, max, maxIfEmpty, median, medianIfEmpty, min, minIfEmpty, noneSatisfy, reduce, reduceIfEmpty, reject, select, sum, summaryStatistics, toArray, toArray, toBag, toList, toSet, toSortedArray, toSortedList, toSortedList, toSortedListBy, toSortedListBy
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.DoubleValuesMap
containsValue, forEachValue, tap
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.FloatDoubleMap
injectIntoKeyValue
-
Methods inherited from interface org.eclipse.collections.impl.map.primitive.FloatKeysMap
isEmpty, notEmpty, size
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableDoubleValuesMap
collect, reject, select
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableFloatDoubleMap
putPair, withAllKeyValues
-
Methods inherited from interface org.eclipse.collections.api.PrimitiveIterable
appendString, appendString, appendString, isEmpty, makeString, makeString, makeString, notEmpty, size
-
-
-
-
Field Detail
-
EMPTY_VALUE
private static final double EMPTY_VALUE
- See Also:
- Constant Field Values
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
EMPTY_KEY
private static final float EMPTY_KEY
- See Also:
- Constant Field Values
-
REMOVED_KEY
private static final float REMOVED_KEY
- See Also:
- Constant Field Values
-
CACHE_LINE_SIZE
private static final int CACHE_LINE_SIZE
- See Also:
- Constant Field Values
-
KEY_SIZE
private static final int KEY_SIZE
- See Also:
- Constant Field Values
-
INITIAL_LINEAR_PROBE
private static final int INITIAL_LINEAR_PROBE
- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY
- See Also:
- Constant Field Values
-
keys
private float[] keys
-
values
private double[] values
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
sentinelValues
private AbstractMutableDoubleValuesMap.SentinelValues sentinelValues
-
copyKeysOnWrite
private boolean copyKeysOnWrite
-
-
Constructor Detail
-
FloatDoubleHashMap
public FloatDoubleHashMap()
-
FloatDoubleHashMap
public FloatDoubleHashMap(int initialCapacity)
-
FloatDoubleHashMap
public FloatDoubleHashMap(FloatDoubleMap map)
-
-
Method Detail
-
newWithKeysValues
public static FloatDoubleHashMap newWithKeysValues(float key1, double value1)
-
newWithKeysValues
public static FloatDoubleHashMap newWithKeysValues(float key1, double value1, float key2, double value2)
-
newWithKeysValues
public static FloatDoubleHashMap newWithKeysValues(float key1, double value1, float key2, double value2, float key3, double value3)
-
newWithKeysValues
public static FloatDoubleHashMap newWithKeysValues(float key1, double value1, float key2, double value2, float key3, double value3, float key4, double value4)
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
getOccupiedWithData
protected int getOccupiedWithData()
- Specified by:
getOccupiedWithDatain classAbstractMutableDoubleValuesMap
-
getSentinelValues
protected AbstractMutableDoubleValuesMap.SentinelValues getSentinelValues()
- Specified by:
getSentinelValuesin classAbstractMutableDoubleValuesMap
-
setSentinelValuesNull
protected void setSentinelValuesNull()
- Specified by:
setSentinelValuesNullin classAbstractMutableDoubleValuesMap
-
getEmptyValue
protected double getEmptyValue()
- Specified by:
getEmptyValuein classAbstractMutableDoubleValuesMap
-
getTableSize
protected int getTableSize()
- Specified by:
getTableSizein classAbstractMutableDoubleValuesMap
-
getValueAtIndex
protected double getValueAtIndex(int index)
- Specified by:
getValueAtIndexin classAbstractMutableDoubleValuesMap
-
equals
public boolean equals(java.lang.Object obj)
Description copied from interface:FloatDoubleMapFollows the same general contract asMap.equals(Object).- Specified by:
equalsin interfaceFloatDoubleMap- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Description copied from interface:FloatDoubleMapFollows the same general contract asMap.hashCode().- Specified by:
hashCodein interfaceFloatDoubleMap- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
Description copied from interface:PrimitiveIterableReturns a string with the elements of this iterable separated by commas with spaces and enclosed in square brackets.Assert.assertEquals("[]", IntLists.mutable.empty().toString()); Assert.assertEquals("[1]", IntLists.mutable.with(1).toString()); Assert.assertEquals("[1, 2, 3]", IntLists.mutable.with(1, 2, 3).toString());- Specified by:
toStringin interfaceFloatDoubleMap- Specified by:
toStringin interfacePrimitiveIterable- Overrides:
toStringin classAbstractDoubleIterable- Returns:
- a string representation of this PrimitiveIterable
- See Also:
AbstractCollection.toString()
-
doubleIterator
public MutableDoubleIterator doubleIterator()
Description copied from interface:DoubleIterableReturns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.- Specified by:
doubleIteratorin interfaceDoubleIterable- Specified by:
doubleIteratorin interfaceMutableDoubleValuesMap
-
injectInto
public <V> V injectInto(V injectedValue, ObjectDoubleToObjectFunction<? super V,? extends V> function)- Specified by:
injectIntoin interfaceDoubleIterable
-
clear
public void clear()
Description copied from interface:MutableDoubleValuesMapRemoves all entries from this map.- Specified by:
clearin interfaceMutableDoubleValuesMap- Specified by:
clearin interfaceMutableFloatKeysMap
-
put
public void put(float key, double value)Description copied from interface:MutableFloatDoubleMapAssociates a value with the specified key. If a value is already associated with the key in this map, it will be replaced withvalue.- Specified by:
putin interfaceMutableFloatDoubleMap- Parameters:
key- the keyvalue- the value to associate withvalue
-
putForRemovedSentinel
private void putForRemovedSentinel(double value)
-
putForEmptySentinel
private void putForEmptySentinel(double value)
-
putAll
public void putAll(FloatDoubleMap map)
Description copied from interface:MutableFloatDoubleMapPuts all of the key/value mappings from the specified map into this map. If this map already has a value associated with one of the keys in the map, it will be replaced with the value inmap.- Specified by:
putAllin interfaceMutableFloatDoubleMap- Parameters:
map- the map to copy into this map
-
updateValues
public void updateValues(FloatDoubleToDoubleFunction function)
Description copied from interface:MutableFloatDoubleMapUpdates the values in-place.- Specified by:
updateValuesin interfaceMutableFloatDoubleMap- Parameters:
function- that takes a key and its value and that returns a new value for this key
-
removeKey
public void removeKey(float key)
Description copied from interface:MutableFloatDoubleMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removeKeyin interfaceMutableFloatDoubleMap- Specified by:
removeKeyin interfaceMutableFloatKeysMap- Parameters:
key- the key to remove- See Also:
MutableFloatDoubleMap.remove(float)
-
remove
public void remove(float key)
Description copied from interface:MutableFloatDoubleMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removein interfaceMutableFloatDoubleMap- Parameters:
key- the key to remove- See Also:
MutableFloatDoubleMap.removeKey(float)
-
removeKeyIfAbsent
public double removeKeyIfAbsent(float key, double value)Description copied from interface:MutableFloatDoubleMapRemoves the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key. If no mapping existed for the key, the specified default value is returned.- Specified by:
removeKeyIfAbsentin interfaceMutableFloatDoubleMap- Parameters:
key- the key to removevalue- the default value to return if no mapping for the key exists- Returns:
- the value previously associated with the key, if one existed,
or
valueif not
-
getIfAbsentPut
public double getIfAbsentPut(float key, double value)Description copied from interface:MutableFloatDoubleMapRetrieves the value associated with the key if one exists; if it does not, associates a value with the key.- Specified by:
getIfAbsentPutin interfaceMutableFloatDoubleMap- Parameters:
key- the keyvalue- the value to associate withkeyif no such mapping exists- Returns:
- the value associated with key, if one exists, or
valueif not
-
getAndPut
public double getAndPut(float key, double putValue, double defaultValue)Description copied from interface:MutableFloatDoubleMapRetrieves the value associated with the key if one exists; associates a putValue with the key.- Specified by:
getAndPutin interfaceMutableFloatDoubleMap- Parameters:
key- the keyputValue- the value to associate withkeyif no such mapping existsdefaultValue- the value to return if no mapping associated withkeyexists- Returns:
- the value associated with key, if one exists, or
defaultValueif not
-
getIfAbsentPut
public double getIfAbsentPut(float key, DoubleFunction0 function)Description copied from interface:MutableFloatDoubleMapRetrieves the value associated with the key if one exists; if it does not, invokes the supplier and associates the result with the key.- Specified by:
getIfAbsentPutin interfaceMutableFloatDoubleMap- Parameters:
key- the keyfunction- the supplier that provides the value if no mapping exists forkey- Returns:
- the value associated with the key, if one exists, or the result of
invoking
functionif not
-
getIfAbsentPutWith
public <P> double getIfAbsentPutWith(float key, DoubleFunction<? super P> function, P parameter)Description copied from interface:MutableFloatDoubleMapRetrieves the value associated with the key if one exists; if it does not, invokes the value function with the parameter and associates the result with the key.- Specified by:
getIfAbsentPutWithin interfaceMutableFloatDoubleMap- Type Parameters:
P- the type of the value function'sparameter- Parameters:
key- the keyfunction- the function that provides the value if no mapping exists. The specifiedparameterwill be passed as the argument to the function.parameter- the parameter to provide tofunctionif no value exists forkey- Returns:
- the value associated with the key, if one exists, or the result of
invoking
functionwithparameterif not
-
getIfAbsentPutWithKey
public double getIfAbsentPutWithKey(float key, FloatToDoubleFunction function)Description copied from interface:MutableFloatDoubleMapRetrieves the value associated with the key if one exists; if it does not, associates the result of invoking the value function with the key.- Specified by:
getIfAbsentPutWithKeyin interfaceMutableFloatDoubleMap- Parameters:
key- the keyfunction- the function that provides the value if no mapping exists. Thekeywill be passed as the argument to the function.- Returns:
- the value associated with the key, if one exists, or the result of
invoking
functionwithkeyif not
-
addToValue
public double addToValue(float key, double toBeAdded)Description copied from interface:MutableFloatDoubleMapIncrements and updates the value associated with the key, if a value exists, or sets the value to be the specified value if one does not.- Specified by:
addToValuein interfaceMutableFloatDoubleMap- Parameters:
key- the keytoBeAdded- the amount to increment the existing value, if one exists, or to use as the initial value if one does not- Returns:
- the value after incrementing
toBeAddedto the existing value associated withkeyortoBeAddedif one does not
-
addKeyValueAtIndex
private void addKeyValueAtIndex(float key, double value, int index)
-
removeKeyAtIndex
private void removeKeyAtIndex(int index)
-
copyKeys
private void copyKeys()
-
updateValue
public double updateValue(float key, double initialValueIfAbsent, DoubleToDoubleFunction function)Description copied from interface:MutableFloatDoubleMapUpdates or sets the value associated with the key by applying the function to the existing value, if one exists, or to the specified initial value if one does not.- Specified by:
updateValuein interfaceMutableFloatDoubleMap- Parameters:
key- the keyinitialValueIfAbsent- the initial value to supply to the function if no mapping exists for the keyfunction- the function that returns the updated value based on the current value or the initial value, if no value exists- Returns:
- the new value associated with the key, either as a result of applying
functionto the value already associated with the key or as a result of applying it toinitialValueIfAbsentand associating the result withkey
-
withKeyValue
public FloatDoubleHashMap withKeyValue(float key1, double value1)
Description copied from interface:MutableFloatDoubleMapAssociates a value with the specified key. If a value is already associated with the key in this map, it will be replaced withvalue.- Specified by:
withKeyValuein interfaceMutableFloatDoubleMap- Parameters:
key1- the keyvalue1- the value to associate withvalue- Returns:
- this map
- See Also:
MutableFloatDoubleMap.put(float, double)
-
withKeysValues
public FloatDoubleHashMap withKeysValues(float key1, double value1, float key2, double value2)
-
withKeysValues
public FloatDoubleHashMap withKeysValues(float key1, double value1, float key2, double value2, float key3, double value3)
-
withKeysValues
public FloatDoubleHashMap withKeysValues(float key1, double value1, float key2, double value2, float key3, double value3, float key4, double value4)
-
withoutKey
public FloatDoubleHashMap withoutKey(float key)
Description copied from interface:MutableFloatDoubleMapRemoves the mapping associated with the key, if one exists, from this map.- Specified by:
withoutKeyin interfaceMutableFloatDoubleMap- Parameters:
key- the key to remove- Returns:
- this map
- See Also:
MutableFloatDoubleMap.remove(float)
-
withoutAllKeys
public FloatDoubleHashMap withoutAllKeys(FloatIterable keys)
Description copied from interface:MutableFloatDoubleMapRemoves the mappings associated with all the keys, if they exist, from this map.- Specified by:
withoutAllKeysin interfaceMutableFloatDoubleMap- Parameters:
keys- the keys to remove- Returns:
- this map
- See Also:
MutableFloatDoubleMap.remove(float)
-
asUnmodifiable
public MutableFloatDoubleMap asUnmodifiable()
Description copied from interface:MutableFloatDoubleMapReturns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationExceptionfor all mutating operations. This avoids the overhead of copying the map when callingFloatDoubleMap.toImmutable()while still providing immutability.- Specified by:
asUnmodifiablein interfaceMutableFloatDoubleMap- Returns:
- an unmodifiable view of this map
-
asSynchronized
public MutableFloatDoubleMap asSynchronized()
Description copied from interface:MutableFloatDoubleMapReturns a synchronized view of this map, delegating all operations to this map but ensuring only one caller has access to the map at a time.- Specified by:
asSynchronizedin interfaceMutableFloatDoubleMap- Returns:
- a synchronized view of this map
-
toImmutable
public ImmutableFloatDoubleMap toImmutable()
Description copied from interface:FloatDoubleMapReturns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.- Specified by:
toImmutablein interfaceFloatDoubleMap- Returns:
- an immutable map that is equivalent to this one
-
get
public double get(float key)
Description copied from interface:FloatDoubleMapRetrieves the value associated with the key. If no mapping exists for the key, the default value (usually0) is returned.- Specified by:
getin interfaceFloatDoubleMap- Parameters:
key- the key- Returns:
- the value associated with the key, or the default value if no such mapping exists
-
getIfAbsent
public double getIfAbsent(float key, double ifAbsent)Description copied from interface:FloatDoubleMapRetrieves the value associated with the key, returning the specified default value if no such mapping exists.- Specified by:
getIfAbsentin interfaceFloatDoubleMap- Parameters:
key- the keyifAbsent- the default value to return if no mapping exists forkey- Returns:
- the value associated with the key, or
ifAbsentif no such mapping exists.
-
getForSentinel
private double getForSentinel(float key, double ifAbsent)
-
slowGetIfAbsent
private double slowGetIfAbsent(float key, double ifAbsent)
-
fastGetIfAbsent
private double fastGetIfAbsent(float key, double ifAbsent)
-
slowGetIfAbsentTwo
private double slowGetIfAbsentTwo(float key, double ifAbsent)
-
getOrThrow
public double getOrThrow(float key)
Description copied from interface:FloatDoubleMapRetrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.- Specified by:
getOrThrowin interfaceFloatDoubleMap- Parameters:
key- the key- Returns:
- the value associated with the key
-
containsKey
public boolean containsKey(float key)
Description copied from interface:FloatDoubleMapReturns whether or not the key is present in the map.- Specified by:
containsKeyin interfaceFloatDoubleMap- Specified by:
containsKeyin interfaceFloatKeysMap- Parameters:
key- the key- Returns:
- if a mapping exists in this map for the key
-
forEachKey
public void forEachKey(FloatProcedure procedure)
Description copied from interface:FloatDoubleMapIterates through each key in the map, invoking the procedure for each.- Specified by:
forEachKeyin interfaceFloatDoubleMap- Specified by:
forEachKeyin interfaceFloatKeysMap- Parameters:
procedure- the procedure to invoke for each key
-
forEachKeyValue
public void forEachKeyValue(FloatDoubleProcedure procedure)
Description copied from interface:FloatDoubleMapIterates through each key/value pair in the map, invoking the procedure for each.- Specified by:
forEachKeyValuein interfaceFloatDoubleMap- Parameters:
procedure- the procedure to invoke for each key/value pair
-
allSatisfyKeyValue
public boolean allSatisfyKeyValue(FloatDoublePredicate predicate)
- Specified by:
allSatisfyKeyValuein interfaceFloatDoubleMap- Since:
- 12.0
-
keysView
public LazyFloatIterable keysView()
Description copied from interface:FloatDoubleMapReturns a view of the keys in this map. This iterable is backed by the map, so any modifications to the underlying map will be reflected in the keys returned by the iterable.- Specified by:
keysViewin interfaceFloatDoubleMap- Returns:
- a view of the keys in this map
-
keyValuesView
public RichIterable<FloatDoublePair> keyValuesView()
Description copied from interface:FloatDoubleMapReturns a view of the key/value pairs in this map. This iterable is backed by the map, so any modifications to the underlying map will be reflected in the pairs returned by the iterable.- Specified by:
keyValuesViewin interfaceFloatDoubleMap- Returns:
- a view of the keys in this map
-
flipUniqueValues
public MutableDoubleFloatMap flipUniqueValues()
Description copied from interface:FloatDoubleMapReturn the DoubleFloatMap that is obtained by flipping the direction of this map and making the associations from value to key.- Specified by:
flipUniqueValuesin interfaceFloatDoubleMap- Specified by:
flipUniqueValuesin interfaceMutableFloatDoubleMap
-
select
public FloatDoubleHashMap select(FloatDoublePredicate predicate)
Description copied from interface:FloatDoubleMapReturn a copy of this map containing only the key/value pairs that match the predicate.- Specified by:
selectin interfaceFloatDoubleMap- Specified by:
selectin interfaceMutableFloatDoubleMap- Parameters:
predicate- the predicate to determine which key/value pairs in this map should be included in the returned map- Returns:
- a copy of this map with the matching key/value pairs
-
reject
public FloatDoubleHashMap reject(FloatDoublePredicate predicate)
Description copied from interface:FloatDoubleMapReturn a copy of this map containing only the key/value pairs that do not match the predicate.- Specified by:
rejectin interfaceFloatDoubleMap- Specified by:
rejectin interfaceMutableFloatDoubleMap- Parameters:
predicate- the predicate to determine which key/value pairs in this map should be excluded from the returned map- Returns:
- a copy of this map without the matching key/value pairs
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
trimToSize
public boolean trimToSize()
- Since:
- 12.0
-
compact
@Deprecated public void compact()
Deprecated.since 12.0 - UsetrimToSize()insteadRehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.
-
rehashAndGrow
private void rehashAndGrow()
-
rehash
private void rehash(int newCapacity)
-
probe
int probe(float element)
-
probeTwo
int probeTwo(float element, int removedIndex)
-
probeThree
int probeThree(float element, int removedIndex)
-
spreadAndMask
int spreadAndMask(float element)
-
spreadTwoAndMask
int spreadTwoAndMask(float element)
-
mask
private int mask(int spread)
-
allocateTable
protected void allocateTable(int sizeToAllocate)
-
isEmptyKey
private static boolean isEmptyKey(float key)
-
isRemovedKey
private static boolean isRemovedKey(float key)
-
isNonSentinel
private static boolean isNonSentinel(float key)
-
isNonSentinelAtIndex
protected boolean isNonSentinelAtIndex(int index)
- Specified by:
isNonSentinelAtIndexin classAbstractMutableDoubleValuesMap
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
keySet
public MutableFloatSet keySet()
Description copied from interface:FloatDoubleMapReturns a set containing all the keys in this map. The set is backed by the map, so any modifications to the returned set will affect this map.- Specified by:
keySetin interfaceFloatDoubleMap- Returns:
- a mutable set containing the keys in this map
-
values
public MutableDoubleCollection values()
Description copied from interface:DoubleValuesMapReturns the values in this map as a separate collection. The returned collection is backed by the map, so any changes made to the returned collection will affect the state of this map.- Specified by:
valuesin interfaceDoubleValuesMap- Returns:
- the values as a collection backed by this map
-
-