Class DoubleCharHashMap
java.lang.Object
org.eclipse.collections.impl.primitive.AbstractCharIterable
org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableCharValuesMap
org.eclipse.collections.impl.map.mutable.primitive.DoubleCharHashMap
- All Implemented Interfaces:
Externalizable
,Serializable
,CharIterable
,CharValuesMap
,DoubleCharMap
,MutableCharValuesMap
,MutableDoubleCharMap
,PrimitiveIterable
,MutableDoubleKeysMap
,DoubleKeysMap
public class DoubleCharHashMap
extends AbstractMutableCharValuesMap
implements MutableDoubleCharMap, Externalizable, MutableDoubleKeysMap
This file was automatically generated from template file primitivePrimitiveHashMap.stg.
- Since:
- 3.0.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate class
private class
private class
private class
private class
private class
Nested classes/interfaces inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableCharValuesMap
AbstractMutableCharValuesMap.AbstractCharValuesCollection, AbstractMutableCharValuesMap.SentinelValues
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private boolean
private static final int
private static final double
private static final char
private static final int
private static final int
private double[]
private int
private int
private static final double
private static final long
private char[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addKeyValueAtIndex
(double key, char value, int index) char
addToValue
(double key, char 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 void
allocateTable
(int sizeToAllocate) 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.Returns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationException
for all mutating operations.Returns a primitive iterator that can be used to iterate over the CharIterable in an imperative style.void
clear()
Removes all entries from this map.void
compact()
Rehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.boolean
containsKey
(double key) Returns whether or not the key is present in the map.private void
copyKeys()
boolean
Follows the same general contract asMap.equals(Object)
.private char
fastGetIfAbsent
(double key, char ifAbsent) Return the CharDoubleMap that is obtained by flipping the direction of this map and making the associations from value to key.void
forEachKey
(DoubleProcedure procedure) Iterates through each key in the map, invoking the procedure for each.void
forEachKeyValue
(DoubleCharProcedure procedure) Iterates through each key/value pair in the map, invoking the procedure for each.char
get
(double key) Retrieves the value associated with the key.char
getAndPut
(double key, char putValue, char defaultValue) Retrieves the value associated with the key if one exists; associates a putValue with the key.protected char
private char
getForSentinel
(double key, char ifAbsent) char
getIfAbsent
(double key, char ifAbsent) Retrieves the value associated with the key, returning the specified default value if no such mapping exists.char
getIfAbsentPut
(double key, char value) Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.char
getIfAbsentPut
(double key, CharFunction0 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> char
getIfAbsentPutWith
(double key, CharFunction<? 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.char
getIfAbsentPutWithKey
(double key, DoubleToCharFunction 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 int
char
getOrThrow
(double key) Retrieves the value associated with the key, throwing anIllegalStateException
if no such mapping exists.protected int
protected char
getValueAtIndex
(int index) int
hashCode()
Follows the same general contract asMap.hashCode()
.<V> V
injectInto
(V injectedValue, ObjectCharToObjectFunction<? super V, ? extends V> function) private static boolean
isEmptyKey
(double key) private static boolean
isNonSentinel
(double key) protected boolean
isNonSentinelAtIndex
(int index) private static boolean
isRemovedKey
(double key) keySet()
Returns a set containing all the keys in this map.keysView()
Returns a view of the keys in this map.Returns a view of the key/value pairs in this map.private int
mask
(int spread) private int
static DoubleCharHashMap
newWithKeysValues
(double key1, char value1) static DoubleCharHashMap
newWithKeysValues
(double key1, char value1, double key2, char value2) static DoubleCharHashMap
newWithKeysValues
(double key1, char value1, double key2, char value2, double key3, char value3) static DoubleCharHashMap
newWithKeysValues
(double key1, char value1, double key2, char value2, double key3, char value3, double key4, char value4) (package private) int
probe
(double element) (package private) int
probeThree
(double element, int removedIndex) (package private) int
probeTwo
(double element, int removedIndex) void
put
(double key, char value) Associates a value with the specified key.void
putAll
(DoubleCharMap map) Puts all of the key/value mappings from the specified map into this map.private void
putForEmptySentinel
(char value) private void
putForRemovedSentinel
(char value) void
private void
rehash
(int newCapacity) private void
reject
(DoubleCharPredicate predicate) Return a copy of this map containing only the key/value pairs that do not match the predicate.void
remove
(double key) Removes the mapping associated with the key, if one exists, from the map.void
removeKey
(double key) Removes the mapping associated with the key, if one exists, from the map.private void
removeKeyAtIndex
(int index) char
removeKeyIfAbsent
(double key, char value) Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key.select
(DoubleCharPredicate predicate) Return a copy of this map containing only the key/value pairs that match the predicate.protected void
private char
slowGetIfAbsent
(double key, char ifAbsent) private char
slowGetIfAbsentTwo
(double key, char ifAbsent) private int
(package private) int
spreadAndMask
(double element) (package private) int
spreadTwoAndMask
(double element) Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.toString()
Returns a string with the elements of this iterable separated by commas with spaces and enclosed in square brackets.char
updateValue
(double key, char initialValueIfAbsent, CharToCharFunction 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.void
updateValues
(DoubleCharToCharFunction function) Updates the values in-place.values()
Returns the values in this map as a separate collection.withKeysValues
(double key1, char value1, double key2, char value2) withKeysValues
(double key1, char value1, double key2, char value2, double key3, char value3) withKeysValues
(double key1, char value1, double key2, char value2, double key3, char value3, double key4, char value4) withKeyValue
(double key1, char value1) Associates a value with the specified key.withoutAllKeys
(DoubleIterable keys) Removes the mappings associated with all the keys, if they exist, from this map.withoutKey
(double key) Removes the mapping associated with the key, if one exists, from this map.void
Methods inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableCharValuesMap
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.AbstractCharIterable
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.CharIterable
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.CharValuesMap
containsValue, forEachValue, tap
Methods inherited from interface org.eclipse.collections.api.map.primitive.DoubleCharMap
injectIntoKeyValue
Methods inherited from interface org.eclipse.collections.impl.map.primitive.DoubleKeysMap
isEmpty, notEmpty, size
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableCharValuesMap
collect, reject, select
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableDoubleCharMap
putPair, withAllKeyValues
Methods inherited from interface org.eclipse.collections.api.PrimitiveIterable
appendString, appendString, appendString, isEmpty, makeString, makeString, makeString, notEmpty, size
-
Field Details
-
EMPTY_VALUE
private static final char EMPTY_VALUE- See Also:
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
EMPTY_KEY
private static final double EMPTY_KEY- See Also:
-
REMOVED_KEY
private static final double REMOVED_KEY- See Also:
-
CACHE_LINE_SIZE
private static final int CACHE_LINE_SIZE- See Also:
-
KEY_SIZE
private static final int KEY_SIZE- See Also:
-
INITIAL_LINEAR_PROBE
private static final int INITIAL_LINEAR_PROBE- See Also:
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY- See Also:
-
keys
private double[] keys -
values
private char[] values -
occupiedWithData
private int occupiedWithData -
occupiedWithSentinels
private int occupiedWithSentinels -
sentinelValues
-
copyKeysOnWrite
private boolean copyKeysOnWrite
-
-
Constructor Details
-
DoubleCharHashMap
public DoubleCharHashMap() -
DoubleCharHashMap
public DoubleCharHashMap(int initialCapacity) -
DoubleCharHashMap
-
-
Method Details
-
newWithKeysValues
-
newWithKeysValues
public static DoubleCharHashMap newWithKeysValues(double key1, char value1, double key2, char value2) -
newWithKeysValues
public static DoubleCharHashMap newWithKeysValues(double key1, char value1, double key2, char value2, double key3, char value3) -
newWithKeysValues
public static DoubleCharHashMap newWithKeysValues(double key1, char value1, double key2, char value2, double key3, char value3, double key4, char value4) -
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n) -
getOccupiedWithData
protected int getOccupiedWithData()- Specified by:
getOccupiedWithData
in classAbstractMutableCharValuesMap
-
getSentinelValues
- Specified by:
getSentinelValues
in classAbstractMutableCharValuesMap
-
setSentinelValuesNull
protected void setSentinelValuesNull()- Specified by:
setSentinelValuesNull
in classAbstractMutableCharValuesMap
-
getEmptyValue
protected char getEmptyValue()- Specified by:
getEmptyValue
in classAbstractMutableCharValuesMap
-
getTableSize
protected int getTableSize()- Specified by:
getTableSize
in classAbstractMutableCharValuesMap
-
getValueAtIndex
protected char getValueAtIndex(int index) - Specified by:
getValueAtIndex
in classAbstractMutableCharValuesMap
-
equals
Description copied from interface:DoubleCharMap
Follows the same general contract asMap.equals(Object)
.- Specified by:
equals
in interfaceDoubleCharMap
- Overrides:
equals
in classObject
-
hashCode
public int hashCode()Description copied from interface:DoubleCharMap
Follows the same general contract asMap.hashCode()
.- Specified by:
hashCode
in interfaceDoubleCharMap
- Overrides:
hashCode
in classObject
-
toString
Description copied from interface:PrimitiveIterable
Returns 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:
toString
in interfaceDoubleCharMap
- Specified by:
toString
in interfacePrimitiveIterable
- Overrides:
toString
in classAbstractCharIterable
- Returns:
- a string representation of this PrimitiveIterable
- See Also:
-
charIterator
Description copied from interface:CharIterable
Returns a primitive iterator that can be used to iterate over the CharIterable in an imperative style.- Specified by:
charIterator
in interfaceCharIterable
- Specified by:
charIterator
in interfaceMutableCharValuesMap
-
injectInto
public <V> V injectInto(V injectedValue, ObjectCharToObjectFunction<? super V, ? extends V> function) - Specified by:
injectInto
in interfaceCharIterable
-
clear
public void clear()Description copied from interface:MutableCharValuesMap
Removes all entries from this map.- Specified by:
clear
in interfaceMutableCharValuesMap
- Specified by:
clear
in interfaceMutableDoubleKeysMap
-
put
public void put(double key, char value) Description copied from interface:MutableDoubleCharMap
Associates 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:
put
in interfaceMutableDoubleCharMap
- Parameters:
key
- the keyvalue
- the value to associate withvalue
-
putForRemovedSentinel
private void putForRemovedSentinel(char value) -
putForEmptySentinel
private void putForEmptySentinel(char value) -
putAll
Description copied from interface:MutableDoubleCharMap
Puts 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:
putAll
in interfaceMutableDoubleCharMap
- Parameters:
map
- the map to copy into this map
-
updateValues
Description copied from interface:MutableDoubleCharMap
Updates the values in-place.- Specified by:
updateValues
in interfaceMutableDoubleCharMap
- Parameters:
function
- that takes a key and its value and that returns a new value for this key
-
removeKey
public void removeKey(double key) Description copied from interface:MutableDoubleCharMap
Removes the mapping associated with the key, if one exists, from the map.- Specified by:
removeKey
in interfaceMutableDoubleCharMap
- Specified by:
removeKey
in interfaceMutableDoubleKeysMap
- Parameters:
key
- the key to remove- See Also:
-
remove
public void remove(double key) Description copied from interface:MutableDoubleCharMap
Removes the mapping associated with the key, if one exists, from the map.- Specified by:
remove
in interfaceMutableDoubleCharMap
- Parameters:
key
- the key to remove- See Also:
-
removeKeyIfAbsent
public char removeKeyIfAbsent(double key, char value) Description copied from interface:MutableDoubleCharMap
Removes 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:
removeKeyIfAbsent
in interfaceMutableDoubleCharMap
- 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
value
if not
-
getIfAbsentPut
public char getIfAbsentPut(double key, char value) Description copied from interface:MutableDoubleCharMap
Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.- Specified by:
getIfAbsentPut
in interfaceMutableDoubleCharMap
- Parameters:
key
- the keyvalue
- the value to associate withkey
if no such mapping exists- Returns:
- the value associated with key, if one exists, or
value
if not
-
getAndPut
public char getAndPut(double key, char putValue, char defaultValue) Description copied from interface:MutableDoubleCharMap
Retrieves the value associated with the key if one exists; associates a putValue with the key.- Specified by:
getAndPut
in interfaceMutableDoubleCharMap
- Parameters:
key
- the keyputValue
- the value to associate withkey
if no such mapping existsdefaultValue
- the value to return if no mapping associated withkey
exists- Returns:
- the value associated with key, if one exists, or
defaultValue
if not
-
getIfAbsentPut
Description copied from interface:MutableDoubleCharMap
Retrieves 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:
getIfAbsentPut
in interfaceMutableDoubleCharMap
- 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
function
if not
-
getIfAbsentPutWith
Description copied from interface:MutableDoubleCharMap
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.- Specified by:
getIfAbsentPutWith
in interfaceMutableDoubleCharMap
- 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 specifiedparameter
will be passed as the argument to the function.parameter
- the parameter to provide tofunction
if no value exists forkey
- Returns:
- the value associated with the key, if one exists, or the result of
invoking
function
withparameter
if not
-
getIfAbsentPutWithKey
Description copied from interface:MutableDoubleCharMap
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.- Specified by:
getIfAbsentPutWithKey
in interfaceMutableDoubleCharMap
- Parameters:
key
- the keyfunction
- the function that provides the value if no mapping exists. Thekey
will be passed as the argument to the function.- Returns:
- the value associated with the key, if one exists, or the result of
invoking
function
withkey
if not
-
addToValue
public char addToValue(double key, char toBeAdded) Description copied from interface:MutableDoubleCharMap
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.- Specified by:
addToValue
in interfaceMutableDoubleCharMap
- 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
toBeAdded
to the existing value associated withkey
ortoBeAdded
if one does not
-
addKeyValueAtIndex
private void addKeyValueAtIndex(double key, char value, int index) -
removeKeyAtIndex
private void removeKeyAtIndex(int index) -
copyKeys
private void copyKeys() -
updateValue
Description copied from interface:MutableDoubleCharMap
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.- Specified by:
updateValue
in interfaceMutableDoubleCharMap
- 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
function
to the value already associated with the key or as a result of applying it toinitialValueIfAbsent
and associating the result withkey
-
withKeyValue
Description copied from interface:MutableDoubleCharMap
Associates 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:
withKeyValue
in interfaceMutableDoubleCharMap
- Parameters:
key1
- the keyvalue1
- the value to associate withvalue
- Returns:
- this map
- See Also:
-
withKeysValues
-
withKeysValues
public DoubleCharHashMap withKeysValues(double key1, char value1, double key2, char value2, double key3, char value3) -
withKeysValues
public DoubleCharHashMap withKeysValues(double key1, char value1, double key2, char value2, double key3, char value3, double key4, char value4) -
withoutKey
Description copied from interface:MutableDoubleCharMap
Removes the mapping associated with the key, if one exists, from this map.- Specified by:
withoutKey
in interfaceMutableDoubleCharMap
- Parameters:
key
- the key to remove- Returns:
- this map
- See Also:
-
withoutAllKeys
Description copied from interface:MutableDoubleCharMap
Removes the mappings associated with all the keys, if they exist, from this map.- Specified by:
withoutAllKeys
in interfaceMutableDoubleCharMap
- Parameters:
keys
- the keys to remove- Returns:
- this map
- See Also:
-
asUnmodifiable
Description copied from interface:MutableDoubleCharMap
Returns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationException
for all mutating operations. This avoids the overhead of copying the map when callingDoubleCharMap.toImmutable()
while still providing immutability.- Specified by:
asUnmodifiable
in interfaceMutableDoubleCharMap
- Returns:
- an unmodifiable view of this map
-
asSynchronized
Description copied from interface:MutableDoubleCharMap
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.- Specified by:
asSynchronized
in interfaceMutableDoubleCharMap
- Returns:
- a synchronized view of this map
-
toImmutable
Description copied from interface:DoubleCharMap
Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.- Specified by:
toImmutable
in interfaceDoubleCharMap
- Returns:
- an immutable map that is equivalent to this one
-
get
public char get(double key) Description copied from interface:DoubleCharMap
Retrieves the value associated with the key. If no mapping exists for the key, the default value (usually0
) is returned.- Specified by:
get
in interfaceDoubleCharMap
- Parameters:
key
- the key- Returns:
- the value associated with the key, or the default value if no such mapping exists
-
getIfAbsent
public char getIfAbsent(double key, char ifAbsent) Description copied from interface:DoubleCharMap
Retrieves the value associated with the key, returning the specified default value if no such mapping exists.- Specified by:
getIfAbsent
in interfaceDoubleCharMap
- Parameters:
key
- the keyifAbsent
- the default value to return if no mapping exists forkey
- Returns:
- the value associated with the key, or
ifAbsent
if no such mapping exists.
-
getForSentinel
private char getForSentinel(double key, char ifAbsent) -
slowGetIfAbsent
private char slowGetIfAbsent(double key, char ifAbsent) -
fastGetIfAbsent
private char fastGetIfAbsent(double key, char ifAbsent) -
slowGetIfAbsentTwo
private char slowGetIfAbsentTwo(double key, char ifAbsent) -
getOrThrow
public char getOrThrow(double key) Description copied from interface:DoubleCharMap
Retrieves the value associated with the key, throwing anIllegalStateException
if no such mapping exists.- Specified by:
getOrThrow
in interfaceDoubleCharMap
- Parameters:
key
- the key- Returns:
- the value associated with the key
-
containsKey
public boolean containsKey(double key) Description copied from interface:DoubleCharMap
Returns whether or not the key is present in the map.- Specified by:
containsKey
in interfaceDoubleCharMap
- Specified by:
containsKey
in interfaceDoubleKeysMap
- Parameters:
key
- the key- Returns:
- if a mapping exists in this map for the key
-
forEachKey
Description copied from interface:DoubleCharMap
Iterates through each key in the map, invoking the procedure for each.- Specified by:
forEachKey
in interfaceDoubleCharMap
- Specified by:
forEachKey
in interfaceDoubleKeysMap
- Parameters:
procedure
- the procedure to invoke for each key
-
forEachKeyValue
Description copied from interface:DoubleCharMap
Iterates through each key/value pair in the map, invoking the procedure for each.- Specified by:
forEachKeyValue
in interfaceDoubleCharMap
- Parameters:
procedure
- the procedure to invoke for each key/value pair
-
keysView
Description copied from interface:DoubleCharMap
Returns 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:
keysView
in interfaceDoubleCharMap
- Returns:
- a view of the keys in this map
-
keyValuesView
Description copied from interface:DoubleCharMap
Returns 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:
keyValuesView
in interfaceDoubleCharMap
- Returns:
- a view of the keys in this map
-
flipUniqueValues
Description copied from interface:DoubleCharMap
Return the CharDoubleMap that is obtained by flipping the direction of this map and making the associations from value to key.- Specified by:
flipUniqueValues
in interfaceDoubleCharMap
- Specified by:
flipUniqueValues
in interfaceMutableDoubleCharMap
-
select
Description copied from interface:DoubleCharMap
Return a copy of this map containing only the key/value pairs that match the predicate.- Specified by:
select
in interfaceDoubleCharMap
- Specified by:
select
in interfaceMutableDoubleCharMap
- 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
Description copied from interface:DoubleCharMap
Return a copy of this map containing only the key/value pairs that do not match the predicate.- Specified by:
reject
in interfaceDoubleCharMap
- Specified by:
reject
in interfaceMutableDoubleCharMap
- 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
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
compact
public void compact()Rehashes 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(double element) -
probeTwo
int probeTwo(double element, int removedIndex) -
probeThree
int probeThree(double element, int removedIndex) -
spreadAndMask
int spreadAndMask(double element) -
spreadTwoAndMask
int spreadTwoAndMask(double element) -
mask
private int mask(int spread) -
allocateTable
protected void allocateTable(int sizeToAllocate) -
isEmptyKey
private static boolean isEmptyKey(double key) -
isRemovedKey
private static boolean isRemovedKey(double key) -
isNonSentinel
private static boolean isNonSentinel(double key) -
isNonSentinelAtIndex
protected boolean isNonSentinelAtIndex(int index) - Specified by:
isNonSentinelAtIndex
in classAbstractMutableCharValuesMap
-
maxOccupiedWithData
private int maxOccupiedWithData() -
keySet
Description copied from interface:DoubleCharMap
Returns 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:
keySet
in interfaceDoubleCharMap
- Returns:
- a mutable set containing the keys in this map
-
values
Description copied from interface:CharValuesMap
Returns 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:
values
in interfaceCharValuesMap
- Returns:
- the values as a collection backed by this map
-