Class CharDoubleHashMap
java.lang.Object
org.eclipse.collections.impl.primitive.AbstractDoubleIterable
org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableDoubleValuesMap
org.eclipse.collections.impl.map.mutable.primitive.CharDoubleHashMap
- All Implemented Interfaces:
Externalizable, Serializable, DoubleIterable, CharDoubleMap, DoubleValuesMap, MutableCharDoubleMap, MutableDoubleValuesMap, PrimitiveIterable, MutableCharKeysMap, CharKeysMap
public class CharDoubleHashMap
extends AbstractMutableDoubleValuesMap
implements MutableCharDoubleMap, Externalizable, MutableCharKeysMap
This file was automatically generated from template file primitivePrimitiveHashMap.stg.
- Since:
- 3.0.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classprivate classprivate classprivate classprivate classprivate classNested classes/interfaces inherited from class AbstractMutableDoubleValuesMap
AbstractMutableDoubleValuesMap.AbstractDoubleValuesCollection, AbstractMutableDoubleValuesMap.SentinelValues -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate booleanprivate static final intprivate static final charprivate static final doubleprivate static final intprivate static final intprivate char[]private intprivate intprivate static final charprivate static final longprivate double[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddKeyValueAtIndex(char key, double value, int index) doubleaddToValue(char 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(CharDoublePredicate predicate) 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 anUnsupportedOperationExceptionfor all mutating operations.voidclear()Removes all entries from this map.voidcompact()Deprecated.booleancontainsKey(char key) Returns whether or not the key is present in the map.private voidcopyKeys()Returns a primitive iterator that can be used to iterate over the DoubleIterable in an imperative style.booleanFollows the same general contract asMap.equals(Object).private doublefastGetIfAbsent(char key, double ifAbsent) Return the DoubleCharMap that is obtained by flipping the direction of this map and making the associations from value to key.voidforEachKey(CharProcedure procedure) Iterates through each key in the map, invoking the procedure for each.voidforEachKeyValue(CharDoubleProcedure procedure) Iterates through each key/value pair in the map, invoking the procedure for each.doubleget(char key) Retrieves the value associated with the key.doublegetAndPut(char key, double putValue, double defaultValue) Retrieves the value associated with the key if one exists; associates a putValue with the key.protected doubleprivate doublegetForSentinel(char key, double ifAbsent) doublegetIfAbsent(char key, double ifAbsent) Retrieves the value associated with the key, returning the specified default value if no such mapping exists.doublegetIfAbsentPut(char key, double value) Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.doublegetIfAbsentPut(char 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(char 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(char key, CharToDoubleFunction 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 intdoublegetOrThrow(char key) Retrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.protected intprotected doublegetValueAtIndex(int index) inthashCode()Follows the same general contract asMap.hashCode().<V> VinjectInto(V injectedValue, ObjectDoubleToObjectFunction<? super V, ? extends V> function) private static booleanisEmptyKey(char key) private static booleanisNonSentinel(char key) protected booleanisNonSentinelAtIndex(int index) private static booleanisRemovedKey(char 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 intmask(int spread) private intstatic CharDoubleHashMapnewWithKeysValues(char key1, double value1) static CharDoubleHashMapnewWithKeysValues(char key1, double value1, char key2, double value2) static CharDoubleHashMapnewWithKeysValues(char key1, double value1, char key2, double value2, char key3, double value3) static CharDoubleHashMapnewWithKeysValues(char key1, double value1, char key2, double value2, char key3, double value3, char key4, double value4) (package private) intprobe(char element) (package private) intprobeThree(char element, int removedIndex) (package private) intprobeTwo(char element, int removedIndex) voidput(char key, double value) Associates a value with the specified key.voidputAll(CharDoubleMap map) Puts all of the key/value mappings from the specified map into this map.private voidputForEmptySentinel(double value) private voidputForRemovedSentinel(double value) voidprivate voidrehash(int newCapacity) private voidreject(CharDoublePredicate predicate) Return a copy of this map containing only the key/value pairs that do not match the predicate.voidremove(char key) Removes the mapping associated with the key, if one exists, from the map.voidremoveKey(char key) Removes the mapping associated with the key, if one exists, from the map.private voidremoveKeyAtIndex(int index) doubleremoveKeyIfAbsent(char key, double value) Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key.select(CharDoublePredicate predicate) Return a copy of this map containing only the key/value pairs that match the predicate.protected voidprivate doubleslowGetIfAbsent(char key, double ifAbsent) private doubleslowGetIfAbsentTwo(char key, double ifAbsent) private int(package private) intspreadAndMask(char element) (package private) intspreadTwoAndMask(char 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.booleandoubleupdateValue(char 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(CharDoubleToDoubleFunction function) Updates the values in-place.values()Returns the values in this map as a separate collection.withKeysValues(char key1, double value1, char key2, double value2) withKeysValues(char key1, double value1, char key2, double value2, char key3, double value3) withKeysValues(char key1, double value1, char key2, double value2, char key3, double value3, char key4, double value4) withKeyValue(char key1, double value1) Associates a value with the specified key.withoutAllKeys(CharIterable keys) Removes the mappings associated with all the keys, if they exist, from this map.withoutKey(char key) Removes the mapping associated with the key, if one exists, from this map.voidMethods inherited from class 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, toArrayMethods inherited from class AbstractDoubleIterable
asLazy, average, maxIfEmpty, median, minIfEmpty, toBag, toList, toSet, toSortedArray, toSortedListMethods inherited from interface CharDoubleMap
injectIntoKeyValueMethods inherited from interface CharKeysMap
isEmpty, notEmpty, sizeMethods inherited from interface 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, toSortedListByMethods inherited from interface DoubleValuesMap
containsValue, forEachValue, tapMethods inherited from interface MutableCharDoubleMap
putPair, withAllKeyValuesMethods inherited from interface MutableDoubleValuesMap
collect, reject, selectMethods inherited from interface PrimitiveIterable
appendString, appendString, appendString, isEmpty, makeString, makeString, makeString, notEmpty, size
-
Field Details
-
EMPTY_VALUE
private static final double EMPTY_VALUE- See Also:
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
EMPTY_KEY
private static final char EMPTY_KEY- See Also:
-
REMOVED_KEY
private static final char 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 char[] keys -
values
private double[] values -
occupiedWithData
private int occupiedWithData -
occupiedWithSentinels
private int occupiedWithSentinels -
sentinelValues
-
copyKeysOnWrite
private boolean copyKeysOnWrite
-
-
Constructor Details
-
CharDoubleHashMap
public CharDoubleHashMap() -
CharDoubleHashMap
public CharDoubleHashMap(int initialCapacity) -
CharDoubleHashMap
-
-
Method Details
-
newWithKeysValues
-
newWithKeysValues
public static CharDoubleHashMap newWithKeysValues(char key1, double value1, char key2, double value2) -
newWithKeysValues
public static CharDoubleHashMap newWithKeysValues(char key1, double value1, char key2, double value2, char key3, double value3) -
newWithKeysValues
public static CharDoubleHashMap newWithKeysValues(char key1, double value1, char key2, double value2, char key3, double value3, char key4, double value4) -
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n) -
getOccupiedWithData
protected int getOccupiedWithData()- Specified by:
getOccupiedWithDatain classAbstractMutableDoubleValuesMap
-
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
Description copied from interface:CharDoubleMapFollows the same general contract asMap.equals(Object).- Specified by:
equalsin interfaceCharDoubleMap- Overrides:
equalsin classObject
-
hashCode
public int hashCode()Description copied from interface:CharDoubleMapFollows the same general contract asMap.hashCode().- Specified by:
hashCodein interfaceCharDoubleMap- Overrides:
hashCodein classObject
-
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 interfaceCharDoubleMap- Specified by:
toStringin interfacePrimitiveIterable- Overrides:
toStringin classAbstractDoubleIterable- Returns:
- a string representation of this PrimitiveIterable
- See Also:
-
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 interfaceMutableCharKeysMap- Specified by:
clearin interfaceMutableDoubleValuesMap
-
put
public void put(char key, double value) Description copied from interface:MutableCharDoubleMapAssociates 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 interfaceMutableCharDoubleMap- Parameters:
key- the keyvalue- the value to associate withvalue
-
putForRemovedSentinel
private void putForRemovedSentinel(double value) -
putForEmptySentinel
private void putForEmptySentinel(double value) -
putAll
Description copied from interface:MutableCharDoubleMapPuts 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 interfaceMutableCharDoubleMap- Parameters:
map- the map to copy into this map
-
updateValues
Description copied from interface:MutableCharDoubleMapUpdates the values in-place.- Specified by:
updateValuesin interfaceMutableCharDoubleMap- Parameters:
function- that takes a key and its value and that returns a new value for this key
-
removeKey
public void removeKey(char key) Description copied from interface:MutableCharDoubleMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removeKeyin interfaceMutableCharDoubleMap- Specified by:
removeKeyin interfaceMutableCharKeysMap- Parameters:
key- the key to remove- See Also:
-
remove
public void remove(char key) Description copied from interface:MutableCharDoubleMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removein interfaceMutableCharDoubleMap- Parameters:
key- the key to remove- See Also:
-
removeKeyIfAbsent
public double removeKeyIfAbsent(char key, double value) Description copied from interface:MutableCharDoubleMapRemoves 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 interfaceMutableCharDoubleMap- 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(char key, double value) Description copied from interface:MutableCharDoubleMapRetrieves the value associated with the key if one exists; if it does not, associates a value with the key.- Specified by:
getIfAbsentPutin interfaceMutableCharDoubleMap- 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(char key, double putValue, double defaultValue) Description copied from interface:MutableCharDoubleMapRetrieves the value associated with the key if one exists; associates a putValue with the key.- Specified by:
getAndPutin interfaceMutableCharDoubleMap- 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
Description copied from interface:MutableCharDoubleMapRetrieves 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 interfaceMutableCharDoubleMap- 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
Description copied from interface:MutableCharDoubleMapRetrieves 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 interfaceMutableCharDoubleMap- 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
Description copied from interface:MutableCharDoubleMapRetrieves 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 interfaceMutableCharDoubleMap- 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(char key, double toBeAdded) Description copied from interface:MutableCharDoubleMapIncrements 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 interfaceMutableCharDoubleMap- 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(char key, double value, int index) -
removeKeyAtIndex
private void removeKeyAtIndex(int index) -
copyKeys
private void copyKeys() -
updateValue
Description copied from interface:MutableCharDoubleMapUpdates 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 interfaceMutableCharDoubleMap- 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
Description copied from interface:MutableCharDoubleMapAssociates 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 interfaceMutableCharDoubleMap- Parameters:
key1- the keyvalue1- the value to associate withvalue- Returns:
- this map
- See Also:
-
withKeysValues
-
withKeysValues
public CharDoubleHashMap withKeysValues(char key1, double value1, char key2, double value2, char key3, double value3) -
withKeysValues
public CharDoubleHashMap withKeysValues(char key1, double value1, char key2, double value2, char key3, double value3, char key4, double value4) -
withoutKey
Description copied from interface:MutableCharDoubleMapRemoves the mapping associated with the key, if one exists, from this map.- Specified by:
withoutKeyin interfaceMutableCharDoubleMap- Parameters:
key- the key to remove- Returns:
- this map
- See Also:
-
withoutAllKeys
Description copied from interface:MutableCharDoubleMapRemoves the mappings associated with all the keys, if they exist, from this map.- Specified by:
withoutAllKeysin interfaceMutableCharDoubleMap- Parameters:
keys- the keys to remove- Returns:
- this map
- See Also:
-
asUnmodifiable
Description copied from interface:MutableCharDoubleMapReturns 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 callingCharDoubleMap.toImmutable()while still providing immutability.- Specified by:
asUnmodifiablein interfaceMutableCharDoubleMap- Returns:
- an unmodifiable view of this map
-
asSynchronized
Description copied from interface:MutableCharDoubleMapReturns 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 interfaceMutableCharDoubleMap- Returns:
- a synchronized view of this map
-
toImmutable
Description copied from interface:CharDoubleMapReturns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.- Specified by:
toImmutablein interfaceCharDoubleMap- Returns:
- an immutable map that is equivalent to this one
-
get
public double get(char key) Description copied from interface:CharDoubleMapRetrieves the value associated with the key. If no mapping exists for the key, the default value (usually0) is returned.- Specified by:
getin interfaceCharDoubleMap- Parameters:
key- the key- Returns:
- the value associated with the key, or the default value if no such mapping exists
-
getIfAbsent
public double getIfAbsent(char key, double ifAbsent) Description copied from interface:CharDoubleMapRetrieves the value associated with the key, returning the specified default value if no such mapping exists.- Specified by:
getIfAbsentin interfaceCharDoubleMap- 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(char key, double ifAbsent) -
slowGetIfAbsent
private double slowGetIfAbsent(char key, double ifAbsent) -
fastGetIfAbsent
private double fastGetIfAbsent(char key, double ifAbsent) -
slowGetIfAbsentTwo
private double slowGetIfAbsentTwo(char key, double ifAbsent) -
getOrThrow
public double getOrThrow(char key) Description copied from interface:CharDoubleMapRetrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.- Specified by:
getOrThrowin interfaceCharDoubleMap- Parameters:
key- the key- Returns:
- the value associated with the key
-
containsKey
public boolean containsKey(char key) Description copied from interface:CharDoubleMapReturns whether or not the key is present in the map.- Specified by:
containsKeyin interfaceCharDoubleMap- Specified by:
containsKeyin interfaceCharKeysMap- Parameters:
key- the key- Returns:
- if a mapping exists in this map for the key
-
forEachKey
Description copied from interface:CharDoubleMapIterates through each key in the map, invoking the procedure for each.- Specified by:
forEachKeyin interfaceCharDoubleMap- Specified by:
forEachKeyin interfaceCharKeysMap- Parameters:
procedure- the procedure to invoke for each key
-
forEachKeyValue
Description copied from interface:CharDoubleMapIterates through each key/value pair in the map, invoking the procedure for each.- Specified by:
forEachKeyValuein interfaceCharDoubleMap- Parameters:
procedure- the procedure to invoke for each key/value pair
-
allSatisfyKeyValue
- Specified by:
allSatisfyKeyValuein interfaceCharDoubleMap- Since:
- 12.0
-
keysView
Description copied from interface:CharDoubleMapReturns 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 interfaceCharDoubleMap- Returns:
- a view of the keys in this map
-
keyValuesView
Description copied from interface:CharDoubleMapReturns 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 interfaceCharDoubleMap- Returns:
- a view of the keys in this map
-
flipUniqueValues
Description copied from interface:CharDoubleMapReturn the DoubleCharMap that is obtained by flipping the direction of this map and making the associations from value to key.- Specified by:
flipUniqueValuesin interfaceCharDoubleMap- Specified by:
flipUniqueValuesin interfaceMutableCharDoubleMap
-
select
Description copied from interface:CharDoubleMapReturn a copy of this map containing only the key/value pairs that match the predicate.- Specified by:
selectin interfaceCharDoubleMap- Specified by:
selectin interfaceMutableCharDoubleMap- 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:CharDoubleMapReturn a copy of this map containing only the key/value pairs that do not match the predicate.- Specified by:
rejectin interfaceCharDoubleMap- Specified by:
rejectin interfaceMutableCharDoubleMap- 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:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
trimToSize
public boolean trimToSize()- Since:
- 12.0
-
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(char element) -
probeTwo
int probeTwo(char element, int removedIndex) -
probeThree
int probeThree(char element, int removedIndex) -
spreadAndMask
int spreadAndMask(char element) -
spreadTwoAndMask
int spreadTwoAndMask(char element) -
mask
private int mask(int spread) -
allocateTable
protected void allocateTable(int sizeToAllocate) -
isEmptyKey
private static boolean isEmptyKey(char key) -
isRemovedKey
private static boolean isRemovedKey(char key) -
isNonSentinel
private static boolean isNonSentinel(char key) -
isNonSentinelAtIndex
protected boolean isNonSentinelAtIndex(int index) - Specified by:
isNonSentinelAtIndexin classAbstractMutableDoubleValuesMap
-
maxOccupiedWithData
private int maxOccupiedWithData() -
keySet
Description copied from interface:CharDoubleMapReturns 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 interfaceCharDoubleMap- Returns:
- a mutable set containing the keys in this map
-
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
-
trimToSize()instead